|
|
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
-- Data types, variables, expressions, and statements -- Control Structures |
Weeks 1, 2, 3 | Chapters 1, 2, 3 |
Module 2 | ||
-- Defining Classes
-- Object Oriented Programming -- Inheritance, Interfaces, and Polymorphism |
Weeks 4, 5 | Chapters 4, 5, 7, 8 |
Module 3 | ||
-- Strings
-- Exception Handling -- File I/O |
Weeks 6, 7 | Chapters 9, 10 |
Module 4 | ||
-- Graphics (SWING)
-- Data Structures (Arrays, Lists, Maps, and Iterators) |
Weeks 8, 9 | 14, 16, 17, 18 |
Mid Term Exam, In Class, Open Text Book | ||
Module 5 | ||
-- Advanced Data structures (Linked Lists, Stacks, and Queues)
-- Databases (JDBC) |
Weeks 11, 12 | Chapters 15, 19 |
Module 6 | ||
-- Multithreading and synchronization
-- Networking |
Weeks 13, 14 | Chapter 19 |
Final Project Due |