University of Denver
University College
Information and Computer Systems
Winter 2018 Syllabus
Java Programming — ICT-4361
4 Credits
January 4th—March 10th
On Campus
Note: This syllabus is a living document, and may change approximately weekly. Watch the announcements for any significant changes notifications.
Course Summary
Course Name |
Java Programming |
||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Course Number |
ICT-4361 |
||||||||||||||||||||||||||||||
Instructor |
Michael I. Schwartz |
||||||||||||||||||||||||||||||
Class Meetings |
Thursdays January 4th—March 10th 2018 |
||||||||||||||||||||||||||||||
Room |
Sturm Hall 312 |
||||||||||||||||||||||||||||||
Days instructor is unavailable |
Friday afternoon, 4PM through Saturday |
||||||||||||||||||||||||||||||
Course Description |
This course enhances the student's experience in object-oriented design and software development by performing and discussing OO design for re-use of general purpose applications and small Java applications, including the Java Collection API and Swing user interface classes. Topics include the use of Java as an object-oriented programming language, including encapsulation, simple inheritance, and polymorphism; design of Java classes using Java interfaces and packages; implementation of design patterns in working Java code; and use of Java Base Classes. The course will also address the use of Java IDEs such as Eclipse and NetBeans. Note: This course does NOT address JavaScript. Prerequisites: ICT 4300, ICT 4305, ICT 4315. In this ten week class we will be covering the following areas:
The assignments will include 6 required programming exercises, and one or two optional ones. In each module, you learn new concepts and techniques, and then, exercise these new found skills. At the end of the class you should have a clear understanding of Object Oriented programming using the Java environment and class library. |
||||||||||||||||||||||||||||||
Course Prerequisites |
ICT-4300, Web Enabled Information Systems
ICT-4305, Object-Oriented Methods ICT-4315, Object-Oriented Programming |
||||||||||||||||||||||||||||||
Course Objectives |
At the end of this course, a student will:
|
||||||||||||||||||||||||||||||
Required Materials and Resources |
|
||||||||||||||||||||||||||||||
Course Policies and Procedures |
|
This course enhances the student's experience in object-oriented design and software development by performing and discussing OO design for re-use of general purpose applications and small Java applications, including the Java Collection API and Swing user interface classes. Other topics covered include the use of Java as an object-oriented programming language including encapsulation, simple inheritance, and polymorphism; design of Java classes using Java interfaces and packages; implementation of design patterns in working Java code, and use of Java Base Classes.
The student is encouraged to use one of the several excellent Java IDEs available, with instructor materials covering Eclipse and NetBeans. Note: This course does NOT address JavaScript. Prerequisites: ICT 4300, ICT 4305, ICT 4315.
Exercises are the primary student mechanism to achieve mastery of the subject. Complete sample solutions for each exercise are handed out and discussed by the instructor immediately after the exercises are turned in by the students to reinforce the homework objectives.
Each week's material is covered in a set of slides downloadable from Canvas, and covered in more depth through the book material suggested.
The book material itself is divided into two categories, the basic material needed to understand the subject, and the supplementary material which adds to the understanding of the subject.
The homework knowledge is mostly drawn from the slides; the quizzes and tests are additionally drawn from the basic book material.
Class / Objectives | Weekly Goals | Reading, Homework Due |
---|---|---|
Class 1:
|
Course Introduction
|
Chapters 1-3
Supplementary resource: Java tutorial on Numbers, Strings, and StringBuilders: https://docs.oracle.com/javase/tutorial/java/data/buffers.html HW 1 (HTML) [Due next week] Thinking in Java: Introduction through Everything is an Object |
Class 2:
|
Java control structures
|
Chapters 4-5, 6.1-6.5
Supplementary material: Chapter 7.1-7.3 HW 2a (HTML) [Due next week] Thinking in Java: Control operations, Arrays |
Class 3:
|
Object-Based Programming
|
Chapters 8.1-8.13, 16.1-16.6
Supplementary material: Chapters 8.14-8.15, 16.7 HW 3a (HTML) [Due next week] Thinking in Java: Access Control, Reusing Classes |
Class 4:
|
Object-Oriented Programming
|
Chapters 9.1-9.7, 10.1-10.7
HW 3b (HTML) [Due next week] Optional: HW 10 (HTML) discussed [Optional: Due before course end] Thinking in Java: Polymorphism, Interfaces |
Class 5:
|
Graphical User Interface Components
|
Chapters 12, 13.1-13.7
Supplementary material: Chapters 4.14, 5.10, 6.13, 7.15 HW 4 (HTML) [Due in 2 weeks]. Thinking in Java: Inner classes, Holding your objects, Graphical User Interfaces |
Class 6:
|
Applets
|
Chapter 22.1-22.3
Supplementary material: Chapters 25 |
Class 7:
|
Exceptions
|
Chapters 11.1-11.9, 17, 26.1-26.5
Supplementary material: Chapters 11.10-11.13, 26.6-26.12 HW 5a (HTML) [Due next week] Thinking in Java: Exceptions, I/O, Concurrency |
Class 8:
|
Java Collections framework
|
Chapter 15, 16, 20.1-20.6
HW 6a (HTML) [Due next week] Thinking in Java: Containers, Containers in depth, Supplement on JDBC |
Class 9:
|
Networking |
Chapter 28.1-28.6
Supplementary material: Chapter 27.7-27.9 HW 7 (HTML) discussed [Optional: Due before course end] Thinking in Java: Supplement on Networking |
Class 10:
|
Web Applications and Servlets |
Chapter 29
Final Exam |