Presentation is loading. Please wait.

Presentation is loading. Please wait.

CS 101 Course Summary December 5, 2003. Big Ideas Abstraction Problem solving Fundamentals of programming.

Similar presentations


Presentation on theme: "CS 101 Course Summary December 5, 2003. Big Ideas Abstraction Problem solving Fundamentals of programming."— Presentation transcript:

1 CS 101 Course Summary December 5, 2003

2 Big Ideas Abstraction Problem solving Fundamentals of programming

3 Abstraction “Black box” abstraction: just need to understand the contract Procedural abstraction: capture common patterns Data abstraction: new ways of organizing information

4 Divide-conquer-glue Break up problem into smaller parts; solve parts; glue together solution Recursion: the smaller parts look like the whole problem Tail recursion: no glue step!

5 Fundamental programming concepts Algorithms Methods and parameters Recursion Iteration (while, for) Branching (if, if-else) Data types (int, boolean, char, …) Aggregate types (arrays, lists)

6 Objects Members of a class Have state (instance variables) Invoking methods can change state of object

7 Programming Paradigms Imperative (Pascal, C, Basic, Fortran) Object-oriented (Java, C++, Smalltalk) Functional (Lisp, Scheme, ML) Logic-oriented (Prolog)

8 Scheme ; factorial function (define (fact n) (if (< n 2) 1 (* (fact (- n 1)) n)))

9 Prolog ; is X a member of a list? member(X,[X|_]). member(X,[_|Y]) :- member(X,Y).

10 Topics in Computer Science Foundations of computer science –Introduction to programming (CS 101) –Discrete Mathematics (CS 102) –Data Structures (CS 201)

11 Topics in Computer Science Hardware (CS 202) –Computer architectures –CPU design (e.g., Pentium 4) –Digital circuit design

12 Topics in Computer Science Theory and algorithms (CS 301 / 302) –Computability theory –Algorithms and Graph theory B C A D

13 Topics in Computer Science Core areas –Artificial Intelligence (CS 311) –Software engineering & design (CS 312) –Programming Languages (CS 313) –Operating Systems (CS 314)

14 Topics in Computer Science Applications –Graphics –Networking –Security –Machine Learning –Robotics and Vision –Computational Geometry –Compiler design


Download ppt "CS 101 Course Summary December 5, 2003. Big Ideas Abstraction Problem solving Fundamentals of programming."

Similar presentations


Ads by Google