|
|
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 quizze(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 and 8 | 1.3, 9.1, 9.2, 10.1, 10.2, 10.3 |
Mid Term Exam, Week 9, In Class (Nov 2nd), Open Text Book | ||
Module 5 | ||
-- Data structures (Arrays, Lists, Maps, and Iterators) -- Linked Lists, Stacks, and Queues |
Weeks 10 and 11 | 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 12 and 13 | 19.1, 19.2, 19.4 |
Final Project Presentation (Dec 7th) |