CIS5200
Advanced Programming

Summer 2024

Section IU

 

Instructor

  Steve Johnson  sbjohnso@fit.edu

 

Telephone

   (321) 720-8330

 

Prerequisites:  CIS 5100

 

Course Description: Follows CIS 5100 and covers advanced programming techniques and methodologies for engineering the same. Encourages algorithm exploration and comparison, and demonstration of a superior level of programming expertise in an object-oriented language. Advanced data structures will also be covered. Required for CIS majors. Prerequisite: CIS 5100

 

Course Objectives:   The student will become proficient in the following areas

  1. Interface design
  2. Package creation
  3. Collections
  4. Handling Exceptions
  5. Generics
  6. Creation of multimedia applications using graphics, & sound
  7. Creation of multithreaded applications & applets
  8. Creation of client-server applications using sockets via TCP protocol
  9. Event handling mechanisms
  10. Database Connectivity using JDBC
  11. Creation of GUI Applications using JavaFX and Scene Builder
  12. Web Application Development

 

Textbook

"Java How to Program”, by Deitel & Deitel, 11th Ed. ISBN: 978-0-13-474335-6

 

 

Software:     NetBeans 12.1  - download from , https://netbeans.apache.org/download/nb121/nb121.html

Java SE 11  – download from https://www.oracle.com/java/technologies/javase/jdk11-archive-downloads.html

 

Java SE 8 – download from

https://www.oracle.com/java/technologies/javase/javase8u211-later-archive-downloads.html

 

 

 

Grade Determination:

         1000 - 900 = A           

           899 - 800 = B               Midterm          15% 

           799 - 700 = C               Final                25%                

           699 - 600 = D               Assignments   50%

           599 - 0  =    F               Interaction      10%

                            

Interaction:

The student is required to participate in all on-line discussion via the discussion board feature.  A new discussion topic will be posted at the beginning of each week.  You will be required to make at least 1 “substantive” (i.e., nontrivial posting; posting of substantial and practical importance) posting.  For example, a posting of “I agree” (or something to that effect is not substantive). All postings must be completed by the due date to receive any credit (i.e., late postings will receive a grade of 0).  This component represents 10% of the student's final grade.

 

 

Programming Assignments:

  1. Assignments will receive a reduced score (i.e., grace period Project 1 – 11 only).

1 Day – reduce 10%

2 Day – reduce 20%

3 Day – reduce 30%

> 3 Day – reduce 100% (assignment will not be accepted)

No grace period for Project 12

  1. All assignments must be posted in the Canvas submission area by the due date. In the “Comments” include the following:
    Course Number & Section (e.g., CIS5200-W01)
    Assignment Designation (e.g., Project 1 – 8.16 pg. 357)
    Name (e.g., Bill Smith)
  2. No make-up exams are given unless approved by the instructor. All exams must be taken at the scheduled date and time. Students who miss an exam will be given “0” for the exam grade, unless prior arrangements are made.

 

 

Course Material

 Important Dates

May  13, Monday

First Day of Class

May 17, Friday

Last Day to drop a Class without receiving a grade of W

June 21, Friday

Last day to drop a class with a W

May 27, Monday 

Memorial Day  Holiday

July 4, Thursday

Independence Day Holiday (No Class)

July26, Friday

Last day of classes

 

Week       Date            Topic

 

 

 1         5/13                 Chpt. 8 Classes and Objects:  A Deeper Look Pg. 329 - 357

                   Project 1 due 5/24

                 

 2         5/20                 Chpt. 9 Object Oriented Programming:Inheritance Pg. 373 - 400

Chpt. 10 Object Oriented Programming:Polymorphism Pg. 407 - 444

Project 2 due 5/31

 

 3         5/27                 Memorial Day Holiday (No Class Activity on Monday)

                  Chpt. 20 Generic Classes and Methods Pg. 821 - 838

Chpt. 16 Generic Collections Pg. 652 - 683

                                      Project 3 due 6/7

Project 4 due 6/7

 

 

 4         6/3                   Chpt. 26 Swing GUI Components: Part 1 (online)

Chpt. 27 Graphics and Java2D (online)

                                        Project 5 due 6/14

Project 6 due 6/14

 

 5         6/10                 Chpt. 35 Swing GUI  Components: Part 2 (online)

Chpt. 11 Exception Handling Pg. 455 - 481

                     Project 7 due 6/21

 

 6         6/17                 Chpt. 23 Concurrency Pg. 963 – 990

Midterm Exam due by 11:30 pm

Project 8 due 6/28

 

  7         6/24                Chpt. 17 Java SE 8 Lamdas and Streams Sections 17.1 – 17.4

 

  8         7/1                  Chpt. 28 Networking

                                       Project 9 due 7/12

 

  9         7/8                  Chpt. 24 Accessing Database with JDBC pg. 1050 - 1100

 

 

 10        7/15                Chpt. 12 Java FX GUI: Part I pg. 488 - 515

                                       Project 10 due 7/26

       Chpt. 13 Java FX GUI: Part II pg. 523 - 542

                            Project 11 due 7/26

 

 11        7/22               Chpt. 30 Java Server Faces Web Apps: Part I (online)

                                       Project 12 due 7/26

        Chpt. 31 Java Server Faces Web Apps: Part II (online)         

             

    

            7/26              Final Exam due by this date