Description
This course isn't about learning a specific programming tool or language. Rather, it is designed to help them strengthen their critical thinking and logical reasoning faculties, as well as give them the depth of understanding in fundamental concepts in Computer Science and programming, so that they could later on get started with any programming language or technology project.
A solid overview and key concepts in many areas of Computer Science are covered by this course, including Big Ideas in Science and Engineering (Real-World Modeling, Physics Simulations, From Model to Implementation, Reverse Engineering and Tinkering), Computer Science and Math Theory (Lists, Sets, Data Structures such as Dictionaries, Trees, Graphs, Algorithms such as Shortest Path), Programming Languages (Functions, Object-Oriented Programming), Artificial Intelligence (Propositional Logic), and Networking (Internet Protocols), and more.