Programming Methodology II
This course is a follow up to CS1010. It explores two modern programming paradigms, object-oriented programming and functional programming. Through a series of integrated assignments, students will learn to develop medium-scale software programs in the order of thousands of lines of code and tens of classes using object-oriented design principles and advanced programming constructs available in the two paradigms. Topics include objects and classes, composition, association, inheritance, interface, polymorphism, abstract classes, dynamic binding, lambda expression, effect-free programming, first class functions, closures, continuations, monad, etc.
Prerequisites
CS1010 or its variants
Contents
Object Oriented Programming
Java/general programming concepts
- Modifiers
- Abstract Class & Interfaces
- Wrapper Classes
- Exceptions
- Variance of Types
- Generics
- Nested Class