|
|
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 through discussion topics(10%), quizzes (10%), programming assignments (40%), and a open book proctored final exam (40%). 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. A lot of programming is involved in this six week course. If you have no prior programming exposure, please consult the department for alternatives.
Please review the academic conduct code
Module 1 | Readings (4th / 5th Editions) | |
---|---|---|
-- Introduction to Java, IDE (Eclipse) Setup, Compiling, executing, and debugging Java programs -- Data types, variables, expressions, and statements -- Simple Input and Output |
Week 1 | 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) |
Week 2 | 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 |
Week 3 | Chapters 3.3, 4.2, 4.3, 4.4, 5, 7, 8, 13.1 |
Module 4 | ||
-- Strings -- Exception Handling -- File I/O |
Week 4 | 1.3, 9.1, 9.2, 10.1, 10.2, 10.3 |
Module 5 | ||
-- Data structures (Arrays, Lists, Maps, and Iterators) -- Linked Lists, Stacks, and Queues |
Week 5 | 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) |
Week 6 | 19.1, 19.2, 19.4 |
Final Exam (Multiple Choice, Open book) |