1. Computer Science Course Concept Map
-
CS110 - Introduction to computer science
-
Programming:
-
OOP: classes, methods
-
statements, operators
-
variables, data types
-
debugging
-
arithmetic, logic
-
flow, iteration
-
arrays
-
2-D graphics
-
GUI widgets & design
-
Event-driven programming
-
Web concepts: HTML, server, ftp
-
CS206 - Data Structures
-
OOP: ideology, objects, classes, instances
-
Java: extends, implements
-
Recursion
-
Linear, hierarchical, and network structures
-
Linked lists, trees, binary tree, binary search
-
Tree structures
-
Graphs
-
Analysis: Big-O, linear, logrithmic, exponential time; relation with code
-
Space/time trade-off
-
CS231 - Discrete Mathematics
-
CS240 Principles of Computer Organization
-
CS245 Principles of Programming Languages
-
Recursion, how to think and code
-
Proof by Induction and relation to Recursion
-
Recursion, how to implement
-
Abstract Data Types
-
Abstract syntax vs. Concrete syntax
-
Parsing
-
Syntax vs. Semantics
-
Scoping rules (lexical vs dynamic)
-
Overview of different programming languages (for example: Lisp, C/C++/Java, VB, Prolog, Smalltalk, etc.)
-
Types (optional)
-
CS246 Programming Paradigms
-
Paradigms of programming
-
von Neuman versus non-von architectures/programming
-
An in-depth survey of one or more prevalent programming paradigm
-
Paradigms: functional programming, logic programming, OOP, scripting, distributed programming, etc.
-
CS330 Algorithms: Design & Practice
-
CS330 Androids: Design & Practice
-
Robotics
-
OOP
-
CS340 Analysis of Algorithms
-
CS345 Theory of Computation
-
CS212 Computer Graphics
-
CS222 Introduction to Scientific Computing
-
CS235 Information and Coding Theory
-
CS355 Operating Systems
-
CS361 Emergence
-
Decentralized control
-
Parallel issues
-
CS371 Cognitive Science
-
Prolog
-
Neural computation
-
Evolutionary computation
-
CS372 Artificial Intelligence
-
Search
-
Robotics
-
CS393 Advanced Topics in Computer Systems
-
CS394 Advanced Topics in Discrete Mathematics
-
CS450 Computing Across the Sciences
