Computer Science Fundamentals
- 19 Sections
- 166 Lessons
- 1 Quiz
Module 1: Orientation & tools
Module 2: Number systems & data representation
Module 3: Logic, proofs & discrete fundamentals
Module 4: Sets, functions, relations & counting
Module 5: Introduction to algorithms & complexity
Module 6: Data structures I: arrays, lists, stacks, queues
Module 7: Data structures II: trees & heaps
Module 8: Graphs & basic graph algorithms
- Graphs & Basic Graph Algorithms
- 1. What is a Graph?
- 2. Graph Terminology
- 3. Types of Graphs
- 3.2 Directed Graph (Digraph)
- 3.3 Weighted Graph
- 4. Graph Representation
- 4.2 Adjacency List
- 5. Graph Traversal Algorithms
- 5.2 Depth-First Search (DFS)
- 6. Shortest Path Algorithm (Intro)
- 7. Minimum Spanning Tree (Intro)
- 8. Real-World Applications of Graphs
- Summary
Module 9: Sorting & advanced algorithmic techniques
- Sorting & Advanced Algorithmic Techniques
- 1. What is Sorting?
- 2. Types of Sorting Algorithms
- 3. Bubble Sort
- 4. Selection Sort
- 5. Insertion Sort
- 6. Merge Sort
- 7. Quick Sort
- 8. Heap Sort
- 9. Comparison of Sorting Algorithms
- 10. Advanced Algorithmic Techniques
- 10.2 Dynamic Programming (DP)
- 10.3 Greedy Algorithms
- 10.4 Backtracking
- 10.5 Branch and Bound
- 11. Real-World Applications
- Summary
Module 10: Theory of computation (intro)
Module 11: Programming languages foundations
- Programming Languages Foundations
- 📘 Programming Language Concepts
- 📘 Programming Language Concepts
- 1. What is a Programming Language?
- 2. Main Areas of Programming Language Foundations
- 3. Type Systems
- 4. Memory Model
- 5. Programming Paradigms
- 6. Why Programming Language Foundations Matter
- Simple Definition
Module 12: Computer architecture & systems basics
- Computer Architecture & Systems Basics
- 🖥️ Computer Architecture Overview
- 🖥️ Computer Architecture Overview
- 1. What is Computer Architecture?
- 2. Von Neumann Architecture
- 3. Instruction Execution Cycle
- 4. Memory Hierarchy
- 5. Performance Metrics
- 6. Parallel Processing Basics
- 7. Hardware–Software Interaction
- 8. Why Computer Architecture is Important
- Simple Definition
Module 13: Operating systems fundamentals
- Operating Systems Fundamentals
- 💻 Operating System Structure
- 💻 Operating System Structure
- 1. What is an Operating System?
- 2. Main Functions of Operating Systems
- 3. Process & Thread Basics
- 4. CPU Scheduling
- 5. Virtual Memory
- 6. Synchronization & Deadlock
- 7. File Systems
- 8. Why Operating Systems Are Important
- Simple Definition
Module 14: Computer networks essentials
Module 15: Databases & data modelling
Module 16: Security fundamentals & best practices
- Security Fundamentals & Best Practices
- 🔐 Security Concept Overview
- 1. Information Security Goals (CIA Model)
- 2. Authentication and Authorization
- 3. Cryptography Basics
- 4. Common Security Threats
- 5. Network Security
- 6. Secure Coding Practices
- 7. Backup and Recovery
- 8. Best Security Practices
- 9. Importance of Security Fundamentals
- Simple Definition
Module 17: Capstone project week & review
Suggested reading & resources
Exam
Course Description Computer Science Fundamentals
Computer Science Fundamentals is an introductory course designed to provide students with a strong theoretical and practical foundation in computing. The course covers essential concepts of computer science, including data representation, algorithms, programming principles, computer systems, networking basics, databases, and cybersecurity fundamentals.
The course introduces how computers process information, how software is designed, and how digital systems communicate. Students will learn core mathematical and logical foundations used in computing, including logic, proofs, discrete mathematics, and algorithmic thinking.
Programming language theory and basic software development concepts are also explored. Students gain understanding of syntax, semantics, compilation, memory models, and programming paradigms that form the basis of modern software engineering.
The course also provides knowledge about computer architecture, operating system principles, and hardware software interaction. Topics such as CPU operation, process management, memory hierarchy, and file systems help students understand how computing systems function internally.
Networking fundamentals are introduced to explain how computers communicate through protocols, IP addressing, and network structures. Security fundamentals are included to help students understand data protection, authentication, encryption, and safe computing practices. Guidelines from organizations such as Open Web Application Security Project (OWASP) are often referenced for modern security awareness.
Database theory and data modelling concepts teach students how information is structured, stored, and managed in database systems. Students also study basic artificial intelligence ideas and advanced algorithmic thinking.
A major component of the course is the capstone project, where students apply their knowledge to build a practical computing solution.
Upon completion, students will have a solid understanding of computer science principles and will be prepared for further studies in software engineering, cybersecurity, data science, or advanced computing fields.
Want to submit a review? Login
