|
|
This course covers the concepts of the object-oriented approach to software design and development using the Java programming language. It includes a detailed discussion of programming concepts starting with the fundamentals of data types, control structures, methods, classes, arrays and strings, and proceeding to advanced topics such as inheritance and polymorphism, interfaces, creating user interfaces, exceptions and generics. Upon completion of this course the students will be able to apply software engineering criteria to design and implement Java applications that are secure, robust, and scalable.
The course grade will be based on active class participation and quizzes(10%), programming assignments (30%), a mid term exam (30%), and a final project (30%). Assignments are expected to be submitted by their respective due dates. Late submission grades will be penalized.Note: This course is not an introduction to programming class. Prior programming experience is assumed.
Please review the academic conduct code
Module 1 | Readings | |
---|---|---|
-- Introduction to Java, IDE (Eclipse) Setup, Compiling, executing, and debugging Java programs -- Data types, variables, expressions, and statements -- Simple Input and Output |
Weeks 1 and 2 | Chapters 1 and 2 |
Module 2 | ||
-- A First Look at Classes -- Graphical Interfaces with SWING and Event Handling -- Control Structures Part 1 (Branching and Decision Constructs) |
Weeks 3 and 4 | Chapters 3.1, 3.2, 4.1, 17, 18 |
Module 3 | ||
-- Control Structures Part 2 (Repetition and Loop Constructs) -- A Second Look at Classes -- Inheritance, Interfaces, and Polymorphism |
Weeks 5 and 6 | Chapters 3.3, 4.2, 4.3, 4.4, 5, 7, 8, 13.1 |
Module 4 | ||
-- Strings -- Exception Handling -- File I/O |
Weeks 7, 8, 9 | 1.3, 9.1, 9.2, 10.1, 10.2, 10.3 |
Mid Term Exam, In Class (Nov 7th), Open Text Book | ||
Module 5 | ||
-- Data structures (Arrays, Lists, Maps, and Iterators) -- Linked Lists, Stacks, and Queues |
Weeks 11 and 12 | 6.1, 6.2, 6.3, 6.4, 14.1, 15.1, 15.4, 15.5, 15.6, 16.1, 16.2, 16.3 |
Module 6 | ||
-- Multithreading and synchronization -- Networking -- Java Database Connectivity (JDBC) |
Weeks 13 and 14 | 19.1, 19.2, 19.4 |
Final Project Due (Dec 12th) |