Fundamentals of computer science

Overview The goal of this course is to give you a broad view of Computer Science, including the topics of algorithms and complexity, computer architecture and organization, programming languages with a solid understanding of functional programming and recursion, and finite automata and computability. These topics fall into three sometimes-overlapping parts; the list below shows typical topics within each part.