Application Engineering and Development
Students will learn innovative software programming techniques that will enable them to properly design and build any kind of application quickly.
Through hands-on weekly lab sessions, students practice the development of applications as an assembly of components. Object-Oriented techniques for building business architectures that map to software applications will be introduced. You will learn how to master ways of taking vague requirements and turn them into systems of eco- system scale.
This class was designed to meet the needs of engineering students with a limited programming background. Students who do have a programming background will learn how to design and architect software the right way.
Course Objectives:
- Demonstrate fluency in the Java programming language
- Understand and leverage procedural and object-oriented paradigms
- Understand standard data types, primitive classes, wrapper classes and String classes
- Understand OO concepts: encapsulation, inheritance, polymorphism, and abstraction
- Understand the usage of Abstract classes, interfaces and inner classes
- Understand handling of exceptions and multi-threaded programming
- Understand Arrays and Collection framework, Collections, Lists, Sets Maps
- Use fileIO, and handling of exceptions
- Understand building user interfaces using Java Swing
- Sample project to develop a swing application for searching cars
Prerequisites:
This course assumes operating system level administration of computer hardware for either Windows or OSX. Students will be installing Eclipse and other build tools to develop programs and exercises.
Course Schedule: (Subject to change)
Week 1 | Welcome, Overview of OOP, Thinking in Objects |
---|---|
Week 2 | Java, Helloworld example, Variables, values and types, Classes and objects, Program flow control, Boolean expressions, Arrays, Loops |
Week 3 | Unit Testing, Debugging, String class and manipulation, StringBuilder, Wrapper classes |
Week 4 | Object Oriented Programming – Constructors/Destructors, Encapsulation, Abstraction, Polymorphism |
Week 5 | Object Oriented Programming cont’d– Encapsulation, Abstraction, Polymorphism |
Week 6 | Abstract classes, Interfaces, final, static keywords |
Week 7 | Exception handling Advanced Debugging and Logging |
Week 8 | Midterm Exam Java arrays, ArrayList, Collections framework Generics - Hashmap, Iterators |
Week 9 | Java Threads Synchronization Parallel processing File Processing (Input/Output) |
Week 10 | Java 8 Features |
Week 11 | Developing User interfaces using Java swing |
Week 12 | Sample project – Build a portal for Searching Cars |
Week 13 | Sample project cont’d |
Week 14 | Sample project cont’d |
Week 15 | Demo of the Final project |