This is a repository containing the projects that I have completed in CS 4. The course description is as follows:
"This course gives students the conceptual background necessary to construct and analyze programs, which includes specifying computations, understanding evaluation models, and using major programming language constructs (functions and procedures, conditionals, recursion and looping, scoping and environments, compound data, side effects, higher-order functions and functional programming, and object-oriented programming). It emphasizes key issues that arise in programming and in computation in general, including time and space complexity, choice of data representation, and abstraction management."
Contents:
Lab 1: Evaluation and Recursion.
Lab 2: Asymptotic Complexity and Higher-Order Functions.
Lab 3: Lists.
Lab 4: Data Abstraction.
Lab 5: Tags and Objects.
Lab 6: Message Passing & Priority Queue.
Lab 7: Klotski Solver.
Midterm: More Functions & Weight-Balancing Tree.
Final: NPuzzle Solver.
Course completed: Winter 2019-20