CISC 3120 Design and Implementation of Software Applications I
by
Professor Hui Chen, Brooklyn College, CUNY
Overview
3 hours; 3 credits
Introduction to topics from diverse areas of computer and information science in an application-oriented context. Design, development, implementation and testing of a web-based, data-backed interactive application, such as an educational game or an e-commerce site. Human-computer interaction, graphics programming, net-centric computing, and software design. Learning code development by example, modification of instructor-authored code and independent code authoring. Application Programming Interfaces and state-of-the-art tools to design and partially prototype systems. Open-source technologies and their relationship to commercial technologies currently popular in workplaces. Application of fundamental computer skills and knowledge to rapidly changing job-specific technologies, tools and environments. Hands-on system development, supervised by the instructor. Students should be prepared to take CISC 3140 in the following semester. It is recommended that students have taken or are taking CISC 3130 in the semester they take CISC 3120.
Prerequisite: CISC 3110.
Learning Objectives
The class is aimed to provide students with kills and knowledge in a few knowledge areas. Upon successfully completing this course, students are expected to achieve the following learning objectives described for the major knowledge areas:
- Objected-Oriented Programming. You will deepen your understanding in objected-oriented programming via gaining competency in the Java programming language.
- Application User Interface and Design. You will be able to select judiciously and design appropriate user interface for applications among command-line user interface, text-based user interface, and graphical user interface. The emphasis is given to the graphical user interface design.
- Network and Standalone Applications. You will gain the first-hand knowledge in developing standalone applications and network applications, have a basic understanding of a few common types of software architectures including client/server, multi-tier, component-based, and data-centric architectures, and be able to build functional web and desktop applications with acquired knowledge in XML, HTML 5, networking, and graphics.
- Testing. You will be able to set up and perform unit tests, functional tests, and integration tests for applications you develop.
- Software Development Process. You will gain a basic understanding of software development process in a team and collaborative environment, and will be able to adopt modern tools, such as, communication tools, code revision management systems to support the selected development process.
- Self-Learning and Research. You will be able to use various sources including Web searches, books, websites, journals, and conference proceedings as well as others to advance your knowledge and solve problems during application design, implementation, and testing processes.
Key Words:
Inheritance, Polymorphism, Class, Interface, Abstract Class, Abstract Method, Java, JUnit, XML, HTML, HTML 5, Cascading Style Sheet, CSS, Application Programming Interface, API, Command-Line, Graphical User Interface, GUI, Web, Networking, Client/Server Architecture, Multi-tier Architecture, Data-Centric Design, Net-Centric Design, Git, Github, Integrated Development Environment, IDE, Eclipse, Unit Test, Functional Test, Integration Test
Textbook
Sierra, Kathy. 2005. Head First Java (2nd ed.). O'Reilly Media, Inc. [ Section ER6 and Section TR2 at CUNY Bookstore ]
Academic Regulations and Procedures
All students should carefully and thoroughly read the section entitled "Academic Regulations and Procedures" in the Brooklyn College Undergraduate or Graduate Bulletin for a complete listing of academic regulations of the College.
Academic Integrity
The faculty and administration of Brooklyn College support an environment free from cheating and plagiarism. Each student is responsible for being aware of what constitutes cheating and plagiarism and for avoiding both. The complete text of the CUNY Academic Integrity Policy and the Brooklyn College procedure for policy implementation can be found at http://www.brooklyn.cuny.edu/bc/policies. If a faculty member suspects a violation of academic integrity and, upon investigation, confirms that violation, or if the student admits the violation, the instructor shall report the violation to the College.
Student Disability Services
In order to receive disability-related academic accommodations students must first be registered with the Center for Student Disability Services . Students who have a documented disability or suspect they may have a disability are invited to set up an appointment with the Director of the Center for Student Disability Services, Ms. Valerie Stewart-Lovell at (718)951-5538. If you have already registered with the Center for Student Disability Services, please provide the instructor with the course accommodation form and discuss your specific accommodation with the instructor.
Consideration of Religious Observance
New York State Education Law (Title I, Article 5, Section 224-a) requires that the College
makes available to each student who is absent from school, because of his [or her] religious beliefs, an equivalent opportunity to make up any examination, study or work requirements which he [or she] may have missed because of such absence on any particular day or days.
If you are unable to attend classes or take examinations, the instructor is happy to accommodate you as permitted by semester schedule and other constraints there may be ; however, it is recommended that you make arrangement with the instructor in advance. You may also contact Ron Jackson, Division of Student Affairs , if you have questions about accommodations for religious observance.
Important Dates
Thursday, August 31 | Last day to add a course |
Tuesday, September 5 | Last day to file for elective course Pass/Fail |
Thursday, September 14 | Last day to drop a course without a grade |
Friday, September 15 | Last day to file for Fall Semester graduation (December 31 or February 1) |
Tuesday, September 19 | Conversion Day; Classes follow a Thursday Schedule |
Thursday, November 9 | Last day to resolve Spring 2017 and Summer 2017 incomplete grade (INC) |
Friday, November 10 | Last day to withdraw from course with a W (non-penalty) grade |
Tuesday, November 21 | Conversion Day; Classes follow a Friday Schedule |
For the complete College calendar, check out the Fall 2017 Academic Calender, Brooklyn College.
Attendance
Class attendance is required unless prearrangement is made with and approved by the instructor, or is permitted by Federal and State laws and regulations and the policies of of the College.
Reference to the state law regarding non-attendance because of religious beliefs is in p. 65 in the Undergraduate Bulletin or p. 41 of the Graduate Bulletin.
The instructor will pass and collect an attendance sheet at the beginning of each class, and students are required to sign the attendance sheet within the first 15 minutes of the class.
Late Attendance
Students should arrive at class on time. A late attendance is treated as missing half of the class, and is penalized as such when attendance score is computed.
Assignments and Examinations
Practice Assignments
The instructor assign practice assignments each week. Some of these assignments may be assigned in class and expected to be completed in class. Some of these assignments are expected to be completed after class. These practice assignments are small assignments whose purpose is to help students review lecture material.
These assignments are individual assignments that require students to complete independently.
The practice assignments fall into two categories.
- The CodeLab exercises provided by Turing's Craft. The purpose of these exercises is to help students learn the Java programming language.
- Weekly programming assignments. These exercises is for knowledge areas other than the Java programming language itself. These knowledge areas are listed in a high-level at the Learning Objectives section
Reigstering CodeLab
The Turing's Craft's CodeLab registration requires a confidential registration code. Visit the CUNY Blackboard system to view the registration instruction and the registration code.Grading of Practice Assignments
Students' completion of the CodeLab exercises are are recorded by Turing's Craft.
The instructor evaluates and monitors the students' weekly programming assignments with three approaches,
- Random inspection of practice assignments by the instructor.
- Periodic evaluation of practice assignments by student peers.
- Final inspection of practice assignments by the instructor.
For each assignment, a student would receive either an accepted or unaccepted grade. A student's percentage of accepted assignments from the random inspection, periodic evaluation, and the final inspection will be used in the student's final grade calculation as discussed in the Grade Calculation section.
Projects
For each major area of study, a project will be assigned. Projects are required to be completed in student teams. The purpose of the project is to provide students with sufficient practice and ample exploration to master the knowledge and skills pertinent to the area, and learn to collaborate in a team setting.
Teaming and Collaboration
The instructor will place each student randomly in a team of 4-5 students.
Students are required to maintain regular meetings either in person or online. For online meetings, the instructor recommends Google Hangouts and will give a brief instruction about it.
Students are required to use a Git system to manage their project code, issues, and collaboration. The instructor has adopted the Github Classroom for this purpose.
Grading of Projects
Students' projects are graded by both the instructor and the students' peers. The students will provide a peer evaluation. The instructor will provide an evaluation on the quality of the projects. Both of the student peer evaluations and the instructor's evaluations will be used in the student's final grade calculation as discussed in the Grade Calculation section.Midterm Examination
A midterm examination will be given. An advisory midterm grade will also be issued in the week following the midterm and before Friday, November 10, the last day to withdrawal from the class with a grade of W.Final Examination
A final examination will be given in accordance with the College Final Exam Schedule .Assignment Submission Guideline
The instructor adopts the Github Classroom to manage assignments. The students submit their work to Github by commiting their work using a Git client and pushing their work to their Github repositories.
The Github Classroom repository invitation links for this class will be distributed in class.
Late Submission
Late submissions are accepted, but penalized with 20% of penalty or one letter grade lower each day late. For instance, if a team submits a project one day late, the grade of the project will be lowered from A to B, B to C, and so on. This penalty scheme also implies that a student will receive 0 on a submission of 5 or more days late.Grade Calculation
Students final score is calculated on the scale of 100 as follows,Component | Percent | Instructor Evaluation | Peer Evaluation |
---|---|---|---|
Attendance | 10% | 100% | 0% |
Random and Peer Inspection of Practice Assignments | 5% | 100% | 0% |
Final Inspection of Practice Assignments | 5% | 50% | 50% |
Projects | 30% | 80% | 20% |
Midterm Examination | 20% | 100% | 0% |
Final Examination | 30% | 100% | 0% |
Total | 100% |
Letter Grade
Your final letter grade will be given as follows according to the following table,Final Score | Letter Grade |
---|---|
90 - 100 | A |
80 - 89 | B |
70 - 79 | C |
60 - 69 | D |
0 - 59 | F |
CUNY Blackboard
The instructor posts assignments, assignment grades, and advisory grades on CUNY Blackboard.
Class Sections
Notice: The course schedule and lesson plan below are under development and are subject to change.
Section ER6
- Time: 06:30-09:10PM Thursday
- Location: 130 Ingersoll Hall Extension
Class Schedule and Notes
Section TR2
- Time: 02:15-03:30PM Tuesday and Thursday
- Location: 130 Ingersoll Hall Extension
Class Schedule and Notes
Section ER6
-
W1: 08/31 C01.Class Overview and Organization; C02. Introduction to Java
Topic: C01.Discuss the policy of the class; provide an overview of the class; form student teams; introduce toolkit for the class including setting up Git, Github, JDK, Eclipse, and Eclipse project setup. C02.Introduce a brief history of the Java programming language; write and compile a simple Java program; review the concept of class and object, discuss Java class and object; text-based application interface.
Assignment:
- Practice W01_08-31_0: Individual student sets up a Github repository and make a submission. Due: 11:59pm, Tuesday, September 5 at Github
- Project 0: student teams set up Github repositories and make submissions. Due: 11:59pm, Tuesday, September 5 at Github
- Practice W01_08-31_1: Due: 11:59pm , Wednesday, September 6 at Github
Reading:
- Reading: Chapters 1 and 2 in the textbook.
- Reading: Jess Bidgood and Jeremy B. Merrillmay, As Computer Coding Classes Swell, So Does Cheating, The New York Times, MAY 29, 2017.
- Resources: Eclilpse: Lawrence Goetz, Eclipse Beginner's Guide, the Department of Computer and Information Science, Brooklyn College, June 2017
Additional Reading:
Watching:
- Resources: Git: Git Basics I: What is Version Control?
- Resources: Git: Git Basics II: What is Git?
- Resources: Git (Optional): Git Basics III: Get Going with Git?
- Resources: Git (Optional): Git Basics IV: Quick Wins with Git?
- Resources: Github Classroom: Screencast: Group Creation by Team Coordinator in Github Classroom
- Resources: Github Classroom: Screencast: Joinining an Existing Group in Github Classroom
- Resources: Github Classroom: Screencast: Accepting Individual Assignment
- Resources: Github Classroom: Screencast: Simple Git Workflow for Individual Assignment: Part I
- Resources: Github Classroom: Screencast: Simple Git Workflow for Individual Assignment: Part II
- Resources: Github Classroom: Screencast: Simple Git Workflor for Team Assignment: Part I: Locate Your (Empty) Team Assignment
- Resources: Github Classroom: Screencast: Simple Git Workflor for Team Assignment: Part II: Contribute to a New Team Assignment
- Resources: Github Classroom: Screencast: Simple Git Workflor for Team Assignment: Part III: Locate Your (Non-Empty) Team Assignment
- Resources: Github Classroom: Screencast: Simple Git Workflor for Team Assignment: Part IV: Add Contribution to a Team Assignment
- Resources: Github Classroom: Screencast: Simple Git Workflor for Team Assignment: Part V: Bring Team Assignment Up-to-date
-
W2: 09/07 C03.Primitives and References; C04.Methods and Arguments
Topics: C03.Discuss Java primitive data types and reference types; discuss the main method, and the command line arguments; provide an introduction to Java garbage collector; C04.Discuss Java methods and arguments, and referenc3 variables as method arguments; introduce command-line applications; find answers online to problems; and introduce Eclipse and Maven.
Assignment:
-
Practice W02_09-07_0: What did we learn from
BeerSong.java
? - Practice W02_09-07_1: Oops! Do I have a bug? Due: 2:14pm, Thursday, September 14 at Github
- Practice W02_09-07_2: Pass-by-Value, due 02:14pm, September 14 at Github
Reading:
- Chapter 3 of the textbook.
- Chapter 4 of the textbook.
Watching:
- Resources: Eclipse: Screencast: Eclipse: Install Maven Integration for Eclipse
- Resources: Eclipse: Screencast: Eclipse: Create Java Project in Eclipse with Maven
-
Practice W02_09-07_0: What did we learn from
-
W3: 09/14 C05.Flow Control; C06.Java API and Libraries
Topic: C05.Discuss flow controls in java; C06.Introduce the Java library; use Java API documentation; use 3rd party Java libraries.
Notice:
- Last day to drop a course without a grade of "W"; and Last day to drop with 75% Liability (25% refund)
Assignment:
- Practice W03_09-14_1: Control execution flow
- Practice W03_09-14_2: Array, ArrayList, and more?
- Project 1: Develop a usable command-line Java application.
Reading:
- Chapter 5 of the textbook
- Chapter 6 of the textbook.
-
W04: 09/19 C07.Java Unit Test Framework; C08.Inheritance and Polymorphism: Introduction (Conversion Day: classes follow a Thursday schedule)
Topic: C07.Introduce JUnit, a unit test framework for Java, explain examples of JUnit tests; Software quality assurance; Testing C08.Review concept of inheritance and polymorphism, discuss Java inheritance and polymorphism
Assignment:
- Practice W04_09-19_1: Improving Design and Implementation via Testing
Reading:
- Unit Testing with JUnit - Tutorial
- Software testing
- Chapter 7 of the textbook
Watching:
- Resources: JUnit: Screencast: Eclipse and JUnit: Working with JUnit
-
W4: 09/21 No Classes Scheduled (Brooklyn College does not schedule classes September 20 - Friday September 22).
-
W05: 09/28 C09.Interfaces and Abstract classes; C10.Project 2 Activities
Topic: Review concept of abstract classes; discuss Java interfaces and abstract classes.
Assignment:
- Project 2: Inheritance and Polymorphism
- Practice W05_09-28_1: All kinds of shapes
- Practice W05_09-28_2: Abstract Classes and Interfaces
Reading:
- Chapter 8 of the textbook
-
W06: 10/05 C11.Constructors and Garbage Collection; C12.Graphical User Interface
Topic: C11.Discuss Java constructors and Java Garbage Collector; C12.Discussion GUI and GUI applications. First exposure to Java FX for desktop applications
Assignment:
- Practice W06_10-05_1: Event Registration
- Practice W06_10-05_2: TBA after midterm exam (on constructors & memory management)
Reading:
- Chapter 9 of the textbook
- Chapter 12 of the textbook
-
W07: 10/12 C13.Midterm Examination; C14.Java FX: Overview and Build-in UI Elements
Topic: Swing and Java FX for desktop applications: JavaFX overview and Build-in UI elements
Assignment:
- Practice W07_10-12: Simple Drawing Board
Reading:
- Chapter 13 of the textbook
- Getting Started with JavaFX
-
W08: 10/19 C15. JavaFX Styling, FXML, and MVC C16.Project 3 Activities
Topic: Styling JavaFX with CSS; FXML; Model-View-Controller pattern
Assignment:
- Project 3: Simple GUI application
- Practice W08_10-19: CSS, FXML, and MVC
-
W09: 10/26 C17.File I/O and Exception Handling;
topic: C17.Discuss files and streams, exception and error handling in Java;
Assignment:
- Practice W09_10-26_1: File I/O
Reading:
- Chapter 11 (exception and error handling) of the textbook
- Chapter 14 (serialization and file I/O) of the textbook
-
W10: 11/02 C18-1.Networking and Network I/O I
Topics: C18.Introduce Berkeley sockets, Web sockets, network I/O, and net-centric computing; discuss object serialization; introduce multi-threading; introduce the concept of client/server and peer-to-peer architectures.
Assignment:
- Practice W09_10-26_2: Network I/O
Reading:
- Chapter 15 (networking and threads) of the textbook
Notice:
- Course withdrawal period ends on, and last day to withdraw from a class with a grade of "W" is 11/10.
-
W10: 11/09 C18-2.Networking and Network I/O II
Topics: C18.Introduce Berkeley sockets, Web sockets, network I/O, and net-centric computing; discuss object serialization; introduce multi-threading; introduce the concept of client/server and peer-to-peer architectures.
Assignment:
- Practice W09_10-26_2: Network I/O
Reading:
- Chapter 15 (networking and threads) of the textbook
Notice:
- Course withdrawal period ends on, and last day to withdraw from a class with a grade of "W" is 11/10.
-
w11: 11/16 C18-3.Networking and Network I/O III C19.Project 4 Activities; C20.Design Patterns in Java API; C21.Concept of Web Application; C22.Network Protocol for the Web: HTTP C23.Marked-up Languages, Styles, and JavaScript and Libraries in Web applications;
Topics: C20.Introduce design patterns and examples in Java API design; C21.Discuss Web application and Web application architecture; review and discuss client/server architecture, multi-tier application architecture; C22.Discuss and review XML, HTML, and CSS; C23.Introduce the concept of JavaScript and libraries as well as frameworks;
Assignment:
- Project 4: Network Application
- Practice W11-1_11-07: design patterns
- Practice W06_10-05_2: design patterns: constructors & memory management
- Practice W12_11-16_1: elements of the Web (setting up)
- Practice W11_11-16_2: elements of the Web (HTML and HTTP)
- Practice W11_11-16_3: elements of the Web (CSS and JavaScript)
Reading:
-
W13: 11/23 No Classes Scheduled
- Thanksgiving Holiday: college closed. No classes scheduled.
-
W14: 11/30 C27.Spring Framework and Spring MVC I
Topic: C27. Introduce Spring Framework and Spring MVC
- Practice W15_12-07:
-
W15: 12/07 C28.Spring Framework and Spring MVC II C29.Testing Web Applications C30.Project 5 Activities (Smaller Project) C31.Spring Framework and Spring MVC III; C32.Final Review
Topic: C29. Introduce Spring Framework and Spring MVC; C30. Discuss Web Applications testing and introduce WebDriver and Selenium
- Practice W15_12-07:
-
12/13 Reading Day
-
W16: 12/14 Final Examination
- CISC 3120 Section ER6 Final Examination: 6 - 8PM, Thursday, December 14, Room 130 Ingersoll Hall Extension.
- Weekday day/evening courses final examinations: 12/13-12/20. Check the college bulletin for update.
Section TR2
-
C01. W1-1: 08/29 Class Overview and Organization
Topic: Discuss the policy of the class; provide an overview of the class; form student teams; introduce toolkit for the class including setting up Git, Github, JDK, Eclipse, and Eclipse project setup.
Assignments:
- Practice W01-1_08-31: Individual student sets up a Github repository and make a submission. Due: 11:59pm, Wednesday, August 30 at Github
- Project 0: Student teams set up Github repositories and make submissions. Due: 11:59pm, Wednesday, August 30 at Github
Reading:
- Reading: Jess Bidgood and Jeremy B. Merrillmay, As Computer Coding Classes Swell, So Does Cheating, The New York Times, MAY 29, 2017.
- Resources: Lawrence Goetz, Eclipse Beginner's Guide, the Department of Computer and Information Science, Brooklyn College, June 2017
Watching:
- Resources: Git: Git Basics I: What is Version Control?
- Resources: Git: Git Basics II: What is Git?
- Resources: Git (Optional): Git Basics III: Get Going with Git?
- Resources: Git (Optional): Git Basics IV: Quick Wins with Git?
- Resources: Github Classroom: Screencast: Group Creation by Team Coordinator in Github Classroom
- Resources: Github Classroom: Screencast: Joinining an Existing Group in Github Classroom
- Resources: Github Classroom: Screencast: Accepting Individual Assignment
- Resources: Github Classroom: Screencast: Simple Git Workflow for Individual Assignment: Part I
- Resources: Github Classroom: Screencast: Simple Git Workflow for Individual Assignment: Part II
- Resources: Github Classroom: Screencast: Simple Git Workflor for Team Assignment: Part I: Locate Your (Empty) Team Assignment
- Resources: Github Classroom: Screencast: Simple Git Workflor for Team Assignment: Part II: Contribute to a New Team Assignment
- Resources: Github Classroom: Screencast: Simple Git Workflor for Team Assignment: Part III: Locate Your (Non-Empty) Team Assignment
- Resources: Github Classroom: Screencast: Simple Git Workflor for Team Assignment: Part IV: Add Contribution to a Team Assignment
- Resources: Github Classroom: Screencast: Simple Git Workflor for Team Assignment: Part V: Bring Team Assignment Up-to-date
-
C02. W1-2: 08/31 Introduction to Java
Topic: Introduce a brief history of the Java programming language; write and compile a simple Java program; review the concept of class and object, discuss Java class and object; command-line arguments; text-based application interface.
- Practice W01-2_08-31: Due: 11:59pm, Monday, September 4 at Github
Reading:
- Chapters 1 and 2 in the textbook.
Additional Reading:
-
C03. W2-1: 09/05 Primitives and References
Topics: Discuss Java primitive data types and reference types; discuss the main method and the command line arguments; provide an introduction to Java garbage collector.
Assignment:
-
Practice W02-0_09-05: What did we learn from
BeerSong.java
? - Practice W02-1_09-05: Oops! Do I have a bug? Due: 3:14pm, Thursday, September 7 at Github
- Chapter 3 of the textbook.
-
Practice W02-0_09-05: What did we learn from
-
C04. W2-2: 09/07 Methods and Arguments
Topic: Discuss Java methods and arguments, and reference variables as method arguments; find answers online to problems; and introduce Eclipse and Maven.
Assignment:
- Practice W02-2_09-07: Pass-by-Value, due 02:14pm, September 12 at Github
Reading:
- Chapter 4 of the textbook.
Watching:
- Resources: Eclipse: Screencast: Eclipse: Install Maven Integration for Eclipse
- Resources: Eclipse: Screencast: Eclipse: Create Java Project in Eclipse with Maven
-
C05. W3-1: 09/12 Flow Control
Topic: Discuss flow controls in Java
Assignment:
- Practice W03-1_09-12: Control Execution Flow
Reading:
- Reading: Chapter 5 of the textbook
-
C06. W3-2: 09/14 Java API and Libraries
Topic: Introduce the Java library; use Java API documentation; use 3rd party Java libraries.
Assignment:
- Practice W03-2_09-14: Array, ArrayList, and more?
- Project 1: Develop a usable command-line Java application.
Reading:
- Chapter 6 of the textbook.
Notice:
- Last day to drop a course without a grade of "W"; and Last day to drop with 75% Liability (25% refund)
-
C07. W4-1: 09/19 Java Unit Test Framework
Topic: Introduce JUnit, a unit test framework for Java, explain examples of JUnit tests; Software quality assurance; Testing
Assignment:
- Practice W4-1_09-19: Improving Design and Implementation via Testing
Reading:
Watching:
- Resources: JUnit: Screencast: Eclipse and JUnit: Working with JUnit
-
W04-2: 09/21 No Classes Scheduled
-
C08. W05-1: 09/26 Inheritance and Polymorphism: Introduction
Topic: Review concept of inheritance and polymorphism, discuss Java inheritance and polymorphism
Assignment:
- Practice W05-1_09-26: All kinds of shapes
Reading:
- Chapter 7 of the textbook
-
C09. W05-2: 09/28 Inheritance and Polymorphism: Interfaces, Abstract classes, and More
Topic: Review concept of abstract classes; discuss Java interfaces and abstract classes.
Assignment:
- Project 2: Inheritance and Polymorphism
- Practice W05-2_09-28: Abstract Classes and Interfaces
Reading:
- Chapter 8 of the textbook
-
C10. W06-1: 10/03 Project 2 Activities
-
C11. W06-2: 10/05 Constructors and Garbage Collection
Topic: Discuss Java constructors and Java Garbage Collector
Assignment:
- Practice W06-2_10-05: TBA after the midterm exam (on constructors & memory management)
reading:
- Chapter 9 of the textbook
-
C12. W7-1: 10/10 Graphical User Interface
Topic: Discussion GUI and GUI applications. First exposure to Java FX for desktop applications
Assignment:
- Practice W07-1_10-10: Event Registration
Reading:
- Chapter 12 of the textbook
-
C13. W7-2: 10/12 Midterm Examination
-
C14. W8-1: 10/17 Java FX: Overview and Build-in UI Elements
Topic: Swing and Java FX for desktop applications
Assignment:
- Project 3: GUI Desktop application
- Practice W08-1_10-17: Simple drawing board
Reading:
- Chapter 13 of the textbook
- Getting Started with JavaFX
-
C15. W8-2: 10/19 JavaFX Styling, FXML, and MVC
Topic: Styling JavaFX with CSS; FXML; Model-View-Controller pattern
Assignment:
- Practice W08-2_10-19: CSS, FXML, and MVC
-
C16. W9-1: 10/24 Project 3 Activities
-
C17-1. W9-2: 10/26 File I/O and Exception Handling: Part I
topic: Discuss files and streams, exception and error handling in Java
Assignment:
- Practice W09-2_10-26: File I/O
Reading:
- Chapter 11 (exception and error handling) of the textbook
- Chapter 14 (file I/O) of the textbook
- Chapter 15 (networking and threads) of the textbook
-
C17-2. W10-1: 10/31 File I/O and Exception Handling: Part II
topic: Discuss files and streams, exception and error handling in Java
Assignment:
- Practice W09-2_10-26: File I/O
Reading:
- Chapter 11 (exception and error handling) of the textbook
- Chapter 14 (file I/O) of the textbook
- Chapter 15 (networking and threads) of the textbook
-
C18-1. W10-2: 11/02 Networking and Network I/O: Part I
topic: Introduce Berkeley sockets, Web sockets, network I/O, and net-centric computing; discuss object serialization; introduce multi-threading; introduce the concept of client/server and peer-to-peer architectures.
Assignment:
- Practice W10-1_10-31: Network I/O
Reading:
- Chapter 14 (serialization) of the textbook
- Chapter 15 (networking and threads) of the textbook
-
C18-2. W11-1: 11/07 Networking and Network I/O: Part II
Topics: Introduce Berkeley sockets, Web sockets, network I/O, and net-centric computing; discuss object serialization; introduce multi-threading; introduce the concept of client/server and peer-to-peer architectures.
Assignment:
- Practice W10-1_10-31: Network I/O
Reading:
- Chapter 14 (serialization) of the textbook
- Chapter 15 (networking and threads) of the textbook
-
C18-3. W11-2: 11/09 Networking and Network I/O: Part III
Topics: Introduce Berkeley sockets, Web sockets, network I/O, and net-centric computing; discuss object serialization; introduce multi-threading; introduce the concept of client/server and peer-to-peer architectures.
Assignment:
- Practice W10-1_10-31: Network I/O
Reading:
- Chapter 14 (serialization) of the textbook
- Chapter 15 (networking and threads) of the textbook
-
C18-4. W12-1: 11/14 Networking and Network I/O: Part IV
Topics: Introduce Berkeley sockets, Web sockets, network I/O, and net-centric computing; discuss object serialization; introduce multi-threading; introduce the concept of client/server and peer-to-peer architectures.
Assignment:
- Practice W10-1_10-31: Network I/O
Reading:
- Chapter 14 (serialization) of the textbook
- Chapter 15 (networking and threads) of the textbook
-
W12-2: 11/16 C19. Project 4 Activities; C20.Design Patterns in Java API; C21. Concept of Web Application; C22.Network Protocol for the Web: HTTP C23.Marked-up Languages, Styles, and JavaScript and Libraries in Web applications;
Topics: Introduce design patterns and examples in Java API design; Discuss Web application and Web application architecture; Review and discuss client/server architecture, multi-tier application architecture; Discuss and review XML, HTML, and CSS; Introduce the concept of JavaScript and libraries as well as frameworks;
Assignment:
- Project 4: Network Application
- Practice W11-1_11-07: design patterns
- Practice W06-2_10-05_2: design patterns: constructors & memory management
- Practice W12-2_11-09: elements of the Web (setting up)
- Practice W11-2_11-14: elements of the Web (HTML and HTTP)
- Practice W12-1_11-16: elements of the Web (CSS and JavaScript)
Reading:
-
W13-1: 11/21 No Class Scheduled (Conversion Day; Classes follow a Friday Schedule).
- Conversion day; classes follow a Friday schedule.
-
W13-2: 11/23 No Classes Scheduled
Note:
- Thanksgiving Holiday: college closed. no classes scheduled.
-
C27. W14-1: 11/28 Spring Framework and Spring MVC I
-
c28. w14-2: 11/30 Spring Framework and Spring MVC II
-
C29. W15-1: 12/05 Testing Web Applications
Topic: Introduce WebDriver and Selenium
Assignment:
- Practice W15-1_12-05:
-
C30. W15-2: 12/07 C30.Project 5 Activities (Smaller Project); C31.Spring Framework and Spring MVC III
Topic: C28-C29. Discuss Web Applications testing and introduce WebDriver and Selenium
-
C31. W16-1: 12/12 C31.Spring Framework and Spring MVC III; C32.Final Review
-
12/13 Reading Day
Office hours
-
W16-2: 12/14 Final Examination
- CISC 3120 Section TR2 Final Examination: 1 - 3PM, Thursday, December 14, Room 130 Ingersoll Hall Extension.
- Weekday day/evening courses final examinations: 12/13-12/20. Check the college bulletin for update.
-
12/19 Conclusion of the Semester