Intermediate-level programming concepts and paradigms, including functional programming, object-orientation, basics of type systems, memory management, program and data abstractions, parameter passing, modularity, version control, and parallel programming. Includes weekly recitations, which provide students with experience in the practice of programming in a variety of high-level languages.
Prerequisite
C or higher in CSE 214; CSE major
Course Outcomes
An understanding of programming language paradigms and tradeoffs.
An understanding of functional techniques to identify, formulate and solve problems.
An ability to apply techniques of object-oriented programming in the context of software development.
Textbook
Major Topics Covered in Course
Programming language paradigms
Functional problem-solving using a high-level functional language