JAVA PROGRAMMING - Syllabus

CIS-084-102 (104656) Online - San José City College
Fall 2020 - August 31, 2020 to December 17, 2020

INSTRUCTOR: Dan McElroy    Dan.McElroy@sjcc.edu

OFFICE HOURS: Meet on Zoom web teleconferencing. I am available on Tuesdays 2:00pm-2:50pm and Thursdays 6:00pm-6:50pm.
To join from PC, Mac, Linux, iOS or Android:     https://cccconfer.zoom.us/j/3782637084
Or Telephone: 1-669-900-6833 (US Toll)    Meeting ID: 378-263-7084.
I can be available at other times. If you want to meet outside of office hours, e-mail me and I will setup a Zoom meeting.

HELP DESK: Contact the help desk if you have problems logging into the MyWeb or Canvas servers. I can't help you with login problems. Contact me for questions about the course.
    helpdesk@sjeccd.edu 1-408-270-6411 (Mon-Fri 7:00am to 5:30pm)
    http://www.sjeccd.edu/district-services/ITSS/help-desk

OPEN LAB: Due to the COVID-19 crisis, the open labs on the San José campus will be closed during the spring 2020 semester. A limited number of laptops and Chromebooks are available for loan from the SJCC library for the duration of the course. You should be receiving information about laptop and Chromebook loans directly from the school. Read more information below in the HARDWARE and SOFTWARE REQUIREMENTS.

PISCES / NET TUTOR: Click the NetTutor link on the left side menu of on the Canvas webpage. Tutoring is available on many subjects, not just the programming classes. Several students in past semesters have found this service very helpful. NetTutor has a nationwide collection of experts in multiple fields who are available to help.

GENERAL COURSE INFORMATION

You will learn how to use the Java programming language. The course includes an introduction to Object Oriented Programming (OOP), input/output, file access, string manipulation and memory allocation and objects. Java is an object oriented programming language which features economy of expression, modern control flow and data structures, and a rich set of operators. The course will explore these features through a variety of programming assignments. This course is for students and professional programmers whose needs include applications packages and/or systems software in software environments where efficiency and portability are important. Java and all Java-based marks are trademarks or registered trademarks of Oracle Inc.

This course is being presented online and it is very important that you make sure you read and understand every part of each discussion and lab exercise requirement. It is suggested that you go over everything twice, especially anything that might be complicated or difficult to understand.

TEXTBOOK

Required Textbook (free):

Introduction to Programming Using Java 8th  Edition,   
by David J. Eck

This is a zero textbook cost (ZTC) . A free PDF version is available at http://math.hws.edu/javanotes8/
Chapters 1 through 7 and 11 will be covered during the course.
Individual chapters are available on the class Canvas web page as each topic is covered.

    9th editon image

CATALOG DESCRIPTION

Students are introduced to the Java programming language, data types, and data structures using an object-oriented approach. Topics include problem solving, classes, variable passing, Graphical User Interface (GUI), input/output, Java libraries, applets, and exception handling.

PREREQUISITES / CO-REQUISITES / ADVISORIES

The class does not have a prerequisite listed, but it has several advisories that you should be aware of. You can still enroll in a class if you do not meet the advisory levels, but you may have a difficult time in the class. The class has three advisories, reading, writing and math.

RECOMMENDED PREPARATION - CIS041 Introduction to Computer Information Systems

ADVISORY READING LEVEL 3 - You need to be able to identify the thesis statement in college materials, make complex inferences, summarize and paraphrase information, use a college level vocabulary, etc. This advisory is in place because the textbooks for computer programming typically are not written in Simplified English. It is important to be able to read the textbooks that present complex ideas.

ADVISORY WRITING LEVEL 3 - You need to have the ability write a well-organized five-paragraph essay. Although most lab reports will not contain an essay requirement, you need to be able to write lab reports and participate in the online Discussions at a college level.

ADVISORY MATH 2 - Algebra 1 Skills - You need to be able to work with equations and variables. Some of the lab exercises may involve either complex or imaginary numbers. If you had a difficult time with high school algebra, you may also have a difficult time in a programming class.

TIME COMMITMENT

CIS-084 Java Programming is a three unit college class. Because it is an engineering type course, there is a lot of work. The course is organized into 16 modules. You should plan on spending about 9 hours on each module. There may be some weeks you end up spending less time, but there may also be a few weeks that require more time.

The class begins on Monday August 31, 2020 and ends on Thursday December 17, 2020. Due dates are listed on Canvas for each assignment. The class is organized into learning modules. For each module, there are usually a quiz, one or two lab assignments and occasionally a group discussion. You can complete the assignments on your own schedule as long as you submit them by their due dates. Lab assignments receive a penalty if submitted late. The late penalty is in addition to any other scores the assignment received. The due dates for each available quiz or assignment can be seen by clicking the 'Modules' link or the 'Calendar' icon on the left panel of Canvas. As a bonus, a maximum of two quizzes can be made up if the due date is missed. IMPORTANT: The last day of class for this class section is Thursday December 17, 2020. Finals are due that Thursday and no work will be accepted after the end of the semester, December 17, 2020.

Missing or not completing assignments may prevent you from passing the class. If you have vacation plans, or your schedule is full with other important obligations, you may want to consider enrolling in the course at another time.

Due to the software engineering content of the course, it is not a good choice for students whose only reason for signing up is to get an easy 3 online units. One of the main goals of the class is to prepare students to be successful as transfer students in a university computer engineering or science degree. In the past, several students signed up because they needed an additional 3 units to make 12 units to qualify as a full-time student, or to satisfy the number of units for financial aid, to be in the Veterans program, or to be part of an athletic team. Regardless why you signed up for the class, you are welcome and I look forward to teaching the many details of computer programming.

STUDENT LEARNING OUTCOMES (SLO)

The following SLOs are provided by the college and are part of an articulation agreement between San José City College and the UCs and the CSUs. In order to meet transfer requirements, all sections of CIS-084 must meet these objectives. By the end of the course, students will be able to:

a. Create console and Graphical User Interface (GUI) programs using sequence, selection and repetition.
b. Design programs using arrays and strings.
c. Organize a solution to a large program by breaking the program into smaller parts.
d. Construct programs using Object Oriented Programming (OOP) techniques.
e. Create programs that use sequential and random access files and databases.
f. Develop web based programs using Java applets.
g. Diagnose and resolve programming errors, including the use of a debugger.

LECTURE CONTENT

1. Java basics
      a. Naming conventions
      b. Data types
      c. Constants and variables
      d. Type conversions
2. Operators, conditions, loops and arrays
      a. Arithmetic, relational, logical and
            increment operators
      b. Precedence and order of evaluation
      c. If(…) / else statements
      d Switch statement
      e. While, do…while and for statements
      f. Single and multi-dimensional arrays
      g. Array initialization and searches
3. Functions, subroutines and methods
      a. Functions returning values, and functions
            not returning values
      b. External Variables
      c. Scope and visibility rules
      d. Strings
     4. Objects and classes, inheritance and polymorphism
      a. Class construction and instantiation of objects
      b. Constructors and destructors
      c. Arrays of objects
      d. Inheritance
      e. Polymorphism
 5. Graphical User Interface Components
      a. Low-level graphics using the awt library
      b. High-level graphics using the swing library
 6. Exception Handling
 7. I/O Streams and databases
      a. Sequential files
      b. Random access files
      c. Database access using JDBC
 8. Collections Framework
 9. Java libraries
10. Applet Basics
      a. Creating Java applets
      b. Using applets

LAB CONTENT

1. Java development environment introduction
2. Programs involving sequence, selection, and repetition
3. Functional programming
4. Applet creation
5. Programs using arrays and strings
6. Object-oriented class design and implementation
7. Advanced object-oriented design and implementation with inheritance and polymorphism
8. GUI design and application development
9. Error handling and debugging
10. Java libraries
11. Persistent data using file streams
12. Database access using JDBC and/or DataSource

LAB ASSIGNMENTS: Some of the lab assignments will take longer than other labs. It is expected that each student will make use of the Open-Lab time to complete assignments as needed. Open-Lab hours are made available to students registered in CIS courses. Instructions will be given after the first week on how to use the open lab.

LAB REPORTS: Programs turned in must include screenshots of both the program and the results of testing the program. Programs will be graded on whether they work, quality of output, program readability and appearance, program construction and completeness of testing, and very importantly - documentation.

Unless otherwise indicated, each lab report must include:
1. Your name, class, platform (PC or Mac), date and an assignment ID # if provided
2. A written description of the lab project in English
3. A list of inputs, processing and outputs for each program
4. Test data values, expected results and actual results when the program runs
5. A discussion of what you did to make the program run and any problems you encountered
6. Screenshot(s) of the program execution
7. The listing of the program (code for the program)

EXTRA CREDIT is occasionally available for work above and beyond the minimum requirements for a lab assignment.
An extra credit lab assignment is like a regular assignment, and all of the points earned are counted as extra credit. The extra points are added into the total points received for the class but Canvas shows the assignment is worth 0 points of regular credit. For example if there were two regular assignments at 10 points each and one extra credit assignment and the student received 7 points each, the total percentage would be computed as follows: (7+7+7)/(10+10+0) = 21/20 = 105%
 
Sometimes a regular assignment may have extra credit for doing more than the minimum required to complete the assignment. For example a 10 point assignment may have the opportunity to earn an extra 3 points for a total of 13 points out of 10. The extra credit part of the assignment MUST be turned in when the assignment is submitted. The extra credit points will not be awarded at a later date even if the assignment is resubmitted. If an assignment is worth 10 points with 3 points extra credit, Canvas initially shows the assignment as 10 points. Extra credit points are added to the total score.

HARDWARE AND SOFTWARE REQUIREMENTS

HARDWARE REQUIREMENTS - The Java programming language is used to develop programs on a variety of operating systems, such as Microsoft Windows, Apple Macintosh, Linux and others. You need a computer on which you can install theJava compiler/debugger and the Java Realtime Environment (JRE). Your computer must be connected to the Internet to install the software, view lectures and lab assignments, take the quizzes and tests, submit the lab assignments and participate in class discussions. There are also online Java compilers such as JDoodle that can be used to complete many of the lab assignments during the first few weeks of the class. Although you can use an online compiler with just a web browser for the first half of the class, you need a computer with the Java and the JRE installed to complete the course. You will not be able to use only a tablet or Chrome OS on Chromebook to complete many of the lab assignments or the final project after the first few weeks in the course.

INTEGRATED DEVELOPMENT SYSTEM - Students need access to a computer that has a Java compiler and an editor or software development system such as NetBeans, Eclipse, etc. Java and many of the IDE development systems can be obtained free on the Internet.

ADDITIONAL SOFTWARE - Many of the handouts and lecture material are provided in the PDF format. Free Adobe Reader Software is available at https://get.adobe.com/reader/otherversions/   You also need a word processing program such as Microsoft Word, Apple Pages or OpenOffice Writer to complete the lab reports. A spreadsheet program such as Microsoft Excel, Apple Numbers or OpenOffice Calc is required to complete one of the lab assignments.

ACCESS TO SJCC COMPUTER LABS

Due to the COVID-19 crisis, the campus is expected to be closed at the beginning of the semester. Although there is a possibility that the campus may open sometime mid semester, the decision will be made by the district chancellor and college president based on local ordinances and health advisories. Students will be kept updated by the college of any changes.

San José City College has many computer labs on campus. Many of the labs used by the CIS and CA departments have the software that you will need to complete the class assignments. Most of the other labs on campus will have Microsoft Office installed, but may not have a software programming development system installed. You need to be an SJCC registered student to use the computers in the Library. You may need to be registered for tutoring to use the LRC labs. Other labs serve different departments on campus. You may need to be registered in one of their classes to use their labs.

CANVAS

San José City College is using Canvas as the online Learning Management System (LMS). Canvas works best with the Google Chrome and Firefox web browsers. The course webpage on Canvas contains class notes, links to videos, PowerPoint slides, class announcements, the course syllabus, test dates, and other information for the course. All assignments must be submitted using Canvas. Make sure you can login to your Canvas account the first day of class. If you are adding the class, your MyWeb enrollment will be reflected at the next Canvas update. Student course enrollment is updated to Canvas three times a day: 6-7AM, 12Noon-1PM and 5-6PM.

Your eight-character Canvas login ID is the same as for MyWeb and is built from the first two letters of your first name, the first two letters of your last name, and the last four digits of your SJCC student ID number. For example, if my name is Dan McElroy and my student ID is 1234567, my Canvas login would be damc4567. When you first get access to Canvas, click the 'Activate/Reset Password' link to set your password for access to all of your classes that are on Canvas.

Additional information can be viewed at https://services.sjeccd.edu/TDClient/1862/Portal/Home/

E-MAIL

All communication concerning the class and any assignment submissions occur through Canvas. All students are required to obtain an e-mail account in addition to their Canvas account. All correspondence through Canvas uses the e-mail address that you have listed with the Admissions and Records office. This includes any messages I send to the class as well as scores for each assignment. It is important that you update your e-mail address if it changes. If you have any questions about the course or need assistance, please contact me by e-mail at any time. You can update your e-mail address by clicking the "CLICK HERE" message on the purple rectangle when you go to the MyWeb page at http://myweb.sjeccd.edu (NOTE the 'E' in sjeccd). If you have an e-mail filter for spam, etc., it is your responsibility to make sure that you are receiving the e-mails that I send you, either from my college address Dan.McElroy@sjcc.edu, or e-mails sent through Canvas.

Students at San José City College are also given a free .edu e-mail address @stu.sjcc.edu
For example, if my student ID was 1234567 and my MyWeb ID was damc4567, my e-mail address would be damc4567@stu.sjcc.edu

The initial password starts with Password (with a capital-P) followed by six digits for the month, day and year of your birth. Example: Password061475

You are not required to use this e-mail address. You do NOT need to use this e-mail address to download software for this course.

Additional information can be viewed at https://services.sjeccd.edu/TDClient/1862/Portal/Home/

GETTING HELP

  1. E-mail the instructor - Click the Inbox link on the left side of Canvas, then the Compose button
  2. Request an online Zoom meeting with the instructor - send an e-mail
  3. Help at the SJCC Tutoring Center - Check first to make sure that a tutor is available
  4. NetTutor - Tutoring is available on many subjects, not just the programming classes. Several students in past semesters have found this service very helpful. NetTutor has a nationwide collection of experts in multiple fields who are available to help. Click the NetTutor link at the left menu on the Canvas class webpage.

When sending an e-mail requesting help or a Zoom appointment,

  1. Include your name and the class you are in (CIS-084 Java Programming, etc).
  2. Include the project number and project name (example 2.4 Counting Change).
  3. The O/S (Windows, MacOS, Linux), AND development system (Online compiler, Visual Studio, Eclipse, Xcode, etc.).
  4. Tell me what type of prblem you are having and what you have done to try to fix tthe problem.
  5. Send screenshots of the program output or error messages.
  6. Send the code as an attachment either as a .java  file, or copy and paste the code into a Word or PDF document. Do not send a screenshot of the code.

ATTENDANCE AND DROPS

Teachers can take attendance for an on-campus class by seeing who is in the class and participating. Poking your head in the door and looking at the board would not count as being present. For an online class, it is necessary that you not only login to Canvas, but you need to participate by submitting your assignments, quizzes and joining available discussions. Just logging in to Canvas and looking around is not considered participation.

Once you have shown some commitment to the class by submitting quizzes, labs, or homework, I assume that you wish to be in the class. Although it is the student's primary responsibility to drop a class, you may be dropped for non-participation. So, login to Canvas several times a week, keep up with the class and I look forward to seeing your hard work online. It is your responsibility to drop a class if you do not wish to continue. IMPORTANT!!! You can NOT drop a class using the Canvas class website. If you do not complete the course, and do not officially drop through the Admissions office and are not dropped by the instructor, you will receive a grade based on your completed work. If for any reason you are unable to complete the requirements for the course, you must officially withdraw by the deadline date at Admissions and Records, either in person or using https://myweb.sjeccd.edu

Sunday September 13, 2020 is the last day to withdraw from the course WITHOUT receiving a "W" on your record. Any classes that you withdraw between 9/14/2020 and 11/23/2020 will show a "W" on your record. September 13 is also the last day to drop a class and receive a refund of eligible fees. Refunds are not automatic. You may need to request the refund from the A&R office.

Monday November 23, 2020 is the last day to drop the course and receive a "W" on your record. After that date students will receive a letter grade based on your submitted work.

An 'Incomplete' will be issued only for extenuating justifiable circumstances (medical, military, etc.) and only if the majority of the work in the course has already been completed. An 'Incomplete' will not be considered if the majority of the work has not been completed by the end of the course. Because the grade of 'A' represents 'Distinguished', an 'A' will not be awarded to students who receive an Incomplete and finish their work after the class has officially ended, even if their total score is greater than 90%.

Veterans on the GI Bill, students on financial aid and international students should contact the appropriate office to discuss consequences of dropping or being dropped from a course.

GRADING

Definition Percent

A=Distinguished
B=Above Average
C=Average
D=Minimum Passing
F=Failing

 A = 90%-100%
 B = 80%-89.9%
 C = 70%-79.9%
 D = 60%-69.9%
 F =  0%-59.9%

The lab assignments are an essential part of the class. You cannot pass the class by completing only the quizzes, midterm and final. You may be dropped from the class if you are not completing at least one lab assignment from each assigned module.

NO-NAME and LATE PENALTIES: The lab assignments must have your name, student ID, and exercise name at the top of the document. Late assignments will be accepted with a penalty. Penalties will be applied AFTER the score for your assignment has been computed.

Due dates are listed on Canvas for each assignment. No late assignments will be accepted after the last day of the class. Up to 4 points late penalty can deducted on lab assignments and discussion topics. The late penalty is in addition to any other scores the assignment received. In order to give students time to get added to the class and get the software development system downloaded and working (NetBeans, Eclipse, etc.), the late penalties will be waived (not assessed) for quizzes and lab assignments during the first two weeks of class.

REGRADING ASSIGNMENTS: If you ask for an assignment to be regraded after it has already been graded, one point will be deducted from the new score. For example, an assignment worth 10 points that is regraded will have a maximum score of 9 points.

ACADEMIC DISHONESTY PENALTIES: You are expected to download your own assignments and DO YOUR OWN WORK. I have several ways to help me determine if a student is submitting another person's work. I may not catch every instance of plagiarize work, but I can catch many. The penalties for Academic Dishonesty far exceed the penalties for submitting your work late. I strongly suggest that you do not share your work with other students, or share your disks or flash drives that contain your class work. Sometimes students have loaned their flash drive to another student and the second student accidentally submitted the wrong file. Other times the second student just copied the first student's work and changed the name. If it looks like work was copied, even if accidentally, the penalties will apply. Don't take the chance on messing up your grade. The penalties listed below are for my class. Other instructors may enforce softer or much harsher penalties. For more information concerning the San José City College policy on disciplinary action, refer to the college catalog Chapter 5, Student Complaint Process, Section III-A

Penalty

Cause

Zero points on the assignment and your course grade will be lowered

All or some of your work was created by another student this semester, or a previous semester.

Zero points on the assignment and your course grade will be lowered again.

Second offense.

An 'F' in the class

Third offense.


SUPPORT SERVICES

San José City College provides many support services to students. A list of these services can be found at http://www.sjcc.edu/current-students/support-programs Included are: SAS, EOP&S, CalWorks, the CARR program, Puente, Umoja and Veteran Services
 

DISCRIMINATION, STUDENT CONDUCT, PRIVACY and HARASSMENT

STUDENT ACCESSIBILITY SERVICES (SAS):

The Americans with Disabilities Act (ADA) is a civil rights statute that prohibits discrimination against people with disabilities. The Student Accessibility Services Program at San Jose City College is designed to allow students with disabilities to fully access and benefit from the general offerings and services of San Jose City College.

The Student Accessibility Services can be found at: http://www.sjcc.edu/current-students/support-programs/student-accessibility-services or see the SJCC College Catalog at http://catalog.sjcc.edu/college-district-policies/student-accessibility-services-sas-program/

STUDENT CONDUCT:

SJCC is committed to providing a safe positive learning environment where students can pursue their educational goals.

The Student Conduct can be found in the SJCC College Catalog at: http://catalog.sjcc.edu/college-district-policies/student-complaint-process/

SEXUAL HARASSMENT/DISCRIMINATION POLICY:

SJCC is committed to maintaining an environment free of sexual harassment or discrimination based on race, religious creed, color, national origin, ancestry, disability, medical condition, marital status, political beliefs, organizational affiliation, sexual orientation, gender or age.

The Sexual Harassment/Discrimination Policy can be found in the SJCC College Catalog at:
http://catalog.sjcc.edu/college-district-policies/sexual-harassment-discrimination/

CIS-084-102 FALL 2020 COURSE OUTLINE
August 31, 2020 to December 17, 2020

    Lab Reports and Quizzes are due before the start of the next module. See Canvas for due dates and any updates to the class schedule

Module
Dates

Lecture Topics Quiz, Homework and
Lab Assignments

Module 1
Monday
August 31

Due Sunday
September 6

Class Orientation
Introduction to Programming in Java

Course Syllabus
Using Canvas
Submitting Lab Assignments

Computer systems hardware and software
Java, JRE, JDK and the VJM
Organization of a Java Program
Java Keywords

Homework Reading Assignment:
Read chapter 1, sections 1.1 through 1.5
The chapter gives an excellent introduction to Java and includes several helpful hints.

Open book quiz:
Chapter 1, sections 1.1 through 1.5

Lab Assignments:
1) Paycheck program
2) Syntax and other errors

Meet on Zoom:
E-mail me to arrange a time. Available times are posted on Canvas.

Module 2 
Tuesday
September 8

Due Sunday
September 13

*** September 7 ***
Labor Day Holiday - campus is closed

Java  Language Basics

The basic Java application
Variables, literals and constants
Numeric and character data types
Built-in math subroutines
Java Input and Output


Testing and debugging
Integrated Development Environment (IDE)
 -NetBeans
 -Eclipse

Homework Reading Assignment:
2.1 The Basic Java Application
2.2 Variables and Types
2.3 Objects and Subroutines
2.4 Text Input and Output

Open book quiz:
Chapter 2, sections 2.1 through 2.4

Lab Assignments:
1) Players on a team
2) Counting change
3) Debugging

Module 3
Monday
September 14

Due Sunday
September 20

*** September 13 ***
Last day to drop the class without a 'W' mark on your transcript

Operators and Assignment

Arithmetic operators
Increment and decrement
Relational operators
Boolean operators
Conditional operator
Assignment operators
Precedence rules

Homework Reading Assignment
2.5 Details of Expressions

Open book quiz:
Chapter 2, section 2.5

Lab Assignments
1) Electric Bill
2) Rock-Paper-Scissors

Discussion:
Privacy in the workplace

Module 4
Monday
September 21

Due Sunday
September 27

*** September 25 ***
Last day to to submit a P/NP request to A&R for classes with this option
The CIS-084 class is letter grade only and does not have the P/NP option

Control - part 1

Blocks, loops and branches
The while and do...while statements
The break and continue statements
The for statement
Nested loops

Homework Reading Assignment
3.1 Blocks, Loops and Branches
3.2 Algorithm Development
3.3 while and do..while
3.4 The for Statement

Open book quiz:
Chapter 3, sections 3.1 to 3.4

Lab Assignments
1) Student Grade Report
2) Theater Seating

Module 5
Monday
September 28

Due Sunday
October 4

Control - part 2

The if statement
The switch statement
Counter controlled loops - from 0 or 1
Sentinel value controlled loops
Computing the sum and average

 

Homework Reading Assignment:
3.5 The if Statement
3.6 The switch Statement

Open book quiz:
Chapter 3, sections 3.5 and 3.6

Lab Assignments:
1) Counting Loop
2) Sentinel Value Controlled Loop

Module 6 
Monday
October 5

Due Sunday
October 11

 

Exceptions (try...catch) and Introduction to Arrays

Illegal inputs
Exception handling (try...throw...catch
Introduction to arrays

GUI programming

Homework Reading Assignment:
3.7 Exceptions and try..catch
3.8 Introduction to Arrays
3.9 GUI Programming

Open book quiz:
Chapter 3, sections 3.7 to 3.9

Lab Assignment:
1) Rolling Dice Histogram
2) GUI Paycheck

Discussion:
Ethics in the Computer Field

Module 7
Monday
October 12

Due Sunday
October 18

*** October 16 ***
Last day to submit a Graduation Petition for the Fall 2020 Semester

Subroutines

Top-Down Design
Predefined Functions
Static subroutines and variables
Parameters - pass by value, pass by reference
Return values

Homework Reading Assignment:
4.1 Black Boxes
4.2 Static Subroutines and Variables
4.3 Parameters
4.4 Return Values

Open book quiz:
Chapter 4, sections 4.1 to 4.4

Lab Assignments:
1) Length of a line (Pythagorean)
2) Guess a number

Module 8
Monday
October 19

Due Sunday
October 25

APIs, Packages, Javadoc and Declarations


Preconditions and postconditions
Global and local variables
Scope and visibility
Overloading functions
Testing and debugging functions
Javadoc

Homework Reading Assignment:
4.5 Lambda Expressions
4.6 APIs, Packages and Javadoc
4.7 More on Program Design

Open book quiz:
Chapter 4, sections 4.5 to 4.7

Lab Assignments:
1) Cell Phone Bill
2) Number quiz (Exercise 4.7)

Module 9 
Monday
October 26

Due Sunday
November 1

Objects and Classes - part 1

Getters and setters
Arrays and objects
Constructors
Garbage collection

Regular Expressiongs (RegEx)

Homework Reading Assignment:
5.1 Objects and Instance Methods
5.2 Constructors and Object Initialization
5.3 Programming with Objects

Open book quiz:
Chapter 5, sections 5.1 to 5.3

Lab Assignments:
1) Java Classes and Objects
2) Rational numbers

Module 10
Monday
November 2

Due Tuesday
November 8

Objects and Classes - part 2

Inheritance
Polymorphism
Abstract classes
Interfaces
Nested classes

Git and GitHub

Homework Reading Assignment:
5.5 Inheritance and Polymorphism
5.6 this and super
5.6 Interfaces
5.8 Nested Classes

Open book midterm:
Midterm, Chapters 1-5

Lab Assignments:

1) Java Polymorphism

Module 11
Tuesday
November 9

Due Sunday
November 15

*** November 11 *** Veterans Day - Campus closed     Vererans Day

Introduction to GUI Programming

Basic JavaFX application
Fonts, images
Events - mouse, key, timer
Controls
Layout

Homework Reading Assignment:
6.1 A Basic JavaFX Application
6.2 Some Basic Classes
6.3 Basic Events

Open book quiz:
Chapter 6, sections 6.1 to 6.3

Lab Assignments:
1) JavaFX Reservation system

Module 12
Monday
November 16

Due Monday
November 22

More GUI Programming

Panes
Menus and Dialogs
Focus events
State machines
Jar files

Group Discussion
Rise of the Robots

Homework Reading Assignment:

6.4 Basic Controls
6.5 Basic Layout
6.6 Complete Programs

Open book quiz:
Chapter 6, sections 6.4 to 6.5

Lab Assignments:
1) JavaFX Cell Phone Bill
2) JavaFX Gas pump documentation

Module 13
Monday
November 23

Due Monday
November 30

*** November 23 ***
Last day to drop the class with a 'W' on your transcript

*** November 26 to November 29 ***
Thanksgiving Holiday - Campus closed

Streams and Files

File streams
Reading and writing files
Sequential access files
Random access files
Open file modes
End-of-file
Closing a file
Seeking
Deleting a file

Homework Reading Assignment:
11.1  I/O Streams, Readers and Writers
11.2  Files
11.3  Programming with Files

Open book quiz:
Chapter 11, sections 11.1 to 11.3

Lab Assignments:
1) Event registry
2) Automatic Teller Machine (ATM)

Module 14
Monday
November 30

Due Sunday
December 8

Arrays and Array Lists

Organizing data into arrays
For-each loop
Passing arrays to functions
Programming with arrays
Multidimensional arrays
Arrays of Objects
Arrays and classes
Classes and dynamic arrays

Homework Reading Assignment:
7.1 Array Details
7.2 Array Processing
7.3 Array List
7.4 Searching and Sorting
7.5 Two-dimensional Arrays

Open book quiz:
Chapter 7, sections 7.1 to 7.5

Lab Assignments:
1) JavaFX Fuel Pump Simulator ECR
2) Tax table lookup

Discussion:
Rise of the robots

Module 15
Monday
December 9

Due Sunday
December 143

Review

Fun stuff

Final Project Assigned

Module 16
Monday
December 14

Due Thursday
December 17

Final Exam

 

Java Final and Final Project

Submit the final lab project

The end of the fall semester is Thursday December 19and the last day to submit any work or late assignments tobe included in your grade.

 
IMPORTANT: The last day of the semester is Thursday December 17
All work must be submitted by 11:59 to be included in your final grade

IMPORTANT DATES - Fall Semester 2020

Important Dates Fall Semester 2020 Classes --- August 31, 2020to December 17, 2020
Refer to http://www.sjcc.edu/academics/academic-calendar
8/31
FALL 202 SEMESTER BEGINS
9/13

LAST DAY TO ADD using add codes on MyWeb
LAST DAY TO DROP fall classes without being assessed enrollment fees

LAST DAY TO DROP fall classes with eligibility for refund of fees
LAST DAY TO DROP fall classes without a "W" on a transcript
NOTE: Registration fees will be assessed for any classes dropped after 6/23

9/25
LAST DAY TO REQUEST Pass/No Pass Grading for a fall 2020 class from the Office of Admissions and Records
10/16
Deadline to submit Graduation/Certificate petitions for fall 2020
11/11
Veterans Day Holiday - Campus closed, no classes held
11/23
LAST DAY TO DROP fall class with a "W" on record
11/26 - 11/29
Thanksgiving Holiday - Campus closed, no classes held
12/11
English finals, no regular day classes meet -- Friday evening classes meet as scheduled
12/17
FALL SEMESTER SEMESTER ENDS
1/8/2021
Fall 2020 grades available on MyWeb at      http://myweb.sjeccd.edu