COMP 250 Introduction to Computer Science Fall 2017 |
Instructor: Michael Langer |
ANNOUNCEMENT (Fall 2020)Starting Fall 2020, COMP 250 no longer assumes that incoming students know Java. Rather it only assumes students know how to program in some high level language (e.g. COMP 202/204/208 teaches Python). Since Java will be used for the programming assignments, COMP 250 will begin with a crash course in Java programming. Engineering students who have learned Java in ECSE 202 should treat the first weeks of COMP 250 as a Java review. |
LECTURES (All Fall 2017 lecture notes bundled together) | EXERCISES (with solutions) |
Preliminaries |
Exercises 1: grade school arithmetic, number representations (PDF) |
Linear Data Structures |
Exercises 2: arrays and array lists (PDF) Exercises 3: linked lists (PDF)   (code)   Exercises 4: iterative sorting (PDF) Exercises 5: stacks and queues (PDF) |
Induction and Recursion |
Exercises 6: induction and recursion (PDF) |
Mathematical Tools for Analysis of Algorithms
|
Exercises 7: recurrences (PDF) Exercises 8: big O (PDF) |
Non-linear Data Structures
|
Exercises 9: trees (PDF) Exercises 10: heaps (PDF) Exercises 11: hashing (PDF) Exercises 12: graphs (PDF) |
Object Oriented Design in Java
|
Exercises 13: object oriented design (PDF) |
EXTRA
|