|
|
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 (30%), programming assignments (30%), and a open book proctored final exam (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 exposure in any programming language 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 | Text Readings | |
---|---|---|
-- Introduction to Java
-- Data types, variables, expressions, and statements -- Control Structures |
Week 1 | Chapters 1, 2, 3 |
Module 2 | ||
-- Defining Classes
-- Object Oriented Programming -- Inheritance, Interfaces, and Polymorphism |
Week 2 | Chapters 4, 5, 7, 8 |
Module 3 | ||
-- Strings
-- Exception Handling -- File I/O |
Week 3 | Chapters 9, 10 |
Module 4 | ||
-- Graphics (SWING)
-- Data Structures (Arrays, Lists, Maps, and Iterators) |
Week 4 | 14, 16, 17, 18 |
Module 5 | ||
-- Advanced Data structures (Linked Lists, Stacks, and Queues)
-- Databases (JDBC) |
Week 5 | Chapters 15, 19 |
Module 6 | ||
-- Multithreading and synchronization
-- Networking |
Week 6 | Chapter 19 |
Final Exam (Multiple Choice, Short Para Code Snippets, Open book) |