Fundamentals of Computer Science

Do computers make mistakes? How does a machine even know what to do? Is Artificial Intelligence really intelligent? This course will guide students through the principles of computer science, exploring the theory and real-world applications of the concepts that govern it. Students will learn about the concepts of algorithms, binary mathematics, Boolean algebra and digital logic, and the theory of computation. They will be introduced to the workings of computer architecture, operating systems, computer networks and embedded systems, and gain insight into the neural networks that power modern AI systems. Throughout the course, the students will have the opportunity to build on their newfound theoretical knowledge through simulations on topics such as Digital Design and Turing Machines, as well as a plethora of hands-on programming challenges, primarily in C++.

 

Learning Objectives

  • Gain a broad understanding of how computing and technology are shaping our world.

  • Formulate and implement algorithms in one or more industry-standard programming languages; Investigate code errors, debug and test programs, and evaluate complexity of algorithms

  • Think algorithmically to solve programming problems using conditional, iterative and recursive structures, and other techniques.

  • Compare and contrast procedural and object-oriented programming paradigms

  • Develop collaboration skills in team, project-based learning environments