The Advanced Programming course is a successor to the Introduction to Programming course. This course teaches some advanced programming concepts. It builds upon prior knowledge of students about programming using languages like C. This is going to be an intensive hands-on course and is going to heavily based on programming assignments, labs and practical exams. The course begins with a discussion on Introduction to Object Oriented Paradigm and Programming Concepts. Students will learn the key elements of a typical object oriented application such as objects, classes, messages, interfaces, abstraction, inheritance, encapsulation and polymorphism. We will make use of Java language to demonstrate the concepts. However, the concepts can be applied using other programming languages. After covering the basics of object oriented programming, we will cover advanced Java programming features such as the Basic Error amp; Exception handling, IO amp; Streams, Concurrent programming with Threads , GUI programming, Collections Framework, and unit testing with JUnit. Throughout the course, students will use an integrated development environment like Eclipse and learn to make use of Java documentation and also learn to create documentation, using JavaDoc, with code.
1. Student are able to demonstrate understanding of Java by implementing relatively large programs.
2. Students are able to discuss object oriented paradigm.
4. Students are able to apply pattern oriented program design and implement using design patterns.
5. Students are able to carry out unit testing and test driven development.