Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: daixieit


CPSC 1204– Principles of Program Structure and Design II


COURSE MATERIALSS

Text book:

Intro To Java Programming

ComprehensiveLiangISBN 9780133761313Copyright 14Publisher PearsonEdition Latest

Java Programming, 9th Edition, Joyce Farrel

Software: IntelliJ


ONLINE COURSE MATERIALS

All instructor materials, resources, assignments and communication such as announcements, course messages and other resources will be shared through KPU Moodle. Unless it is specifically mentioned, all assignments should be submitted through Moodle. It is the students’ responsibility to check the announcements before coming to class. Every effort will be made to ensure that the notification is made as soon as possible.


COURSE DESCRIPTION

Students will learn fundamental programming design and implementation concepts in the context of object-oriented programming. Students will review elementary concepts and learn more advanced concepts such as: data structures, objects, object interaction, inheritance, polymorphism, interface, abstract classes, and exception handling. Students will also be introduced to concepts and design principles of event-driven programming and graphical user interfaces. Students will learn methods for good analysis, design and style.


COURSE OBJECTIVES

The student will be able to

 perform program design for substantial problems using object-oriented design principles

 implement (code, debug and test) the associated algorithms using the Java programming language

 solve programming problems requiring the use of strings, arrays and vectors, objects and classes, recursion and class inheritance

 write user and technical documentation to describe the operation of a program as well as its design

 develop graphics applications and applets using Java graphics programming API and user interface components

 develop comprehensive programs using exception handling and multithreading


COURSE CONTENT

Review of Algorithms and Software Development Method

Java Programming

Object oriented Programming

Graphics

Project Development


METHODS OF INSTRUCTION

This course is implemented using E-learning asynchronous mode. There will be no official weekly meeting. The weekly recurring hours of Tuesday, 3-5 PM is designated for those who wants to strengthen their learning by attending a lecture format of the weekly lesson. The professor will be explaining the weekly topic similar to a lecture during these recurring meetings. A Student is not required to attend the recurring sessions. The recurring sessions are not designed for one-on-one tutoring. As mentioned in previous sentences, it is the lecture version of the weekly topic hence it is intended for a group of students. No attendance will be taken during these sessions.

Students are expected to finish their deliverables, e.g., lab works, assignments, at their own pace, or email consultations with the instructor.

Note: Please see the announcement about Summer 2020 semester on KPU website.


POLICY AND REGULATIONS

Communication

1. The primary means of communication in this course is through your student email. Any correspondence using the un-official email will not be entertained. Please send email to [email protected] the mention of: course and section numbers, e.g. CPSC 1204 – 001, student name and student ID numbers.

2. If the student needs to personally talk to the instructor during the instructor's designated official office hours, he or she needs to book an appointment beforehand through email. The instructor will set the time. Students should check their email for the meeting links.

3. If a student would like to discuss about their labs or assignments, she/he needs to send the related files through email prior to the meeting. She/he needs to mention the meeting ID, or at least reply to the instructor’s email about the appointed time and describe the question that she/he wants to talk about.

4. Students are expected to be punctual if he or she booked an appointment. The instructor has the right to remove the meeting link if the student is not on time.


Attendance

1. The instructor may require the students to provide feedback using poll or any other means during the lecture sessions.

2. Attendance will be checked through the submission of the weekly exercise in MOODLE. These weekly exercises are not gradable. They are used as proof of attendance and participation.


Asynchronous activities, e.g., assignments, labs, open book tests

1. Students are expected to submit their original work on assessment criteria such as assignments, labs, and projects.

2. Every assignment, project or lab will be given a due date. The student is responsible for handing the instructor the assignment at the deadline shown in the Moodle.

3. The instructor has the right to conduct a meta-analysis on all the submitted works.

4. Any discrepancy between the authors or point of origin of files will be construed as prima-facie evidence for cheating.

5. Students are expected to use computers with their data stamp on it. This requirement means they must ensure that they have their login account with their name on the computer they are using.

6. Unless it is mentioned otherwise, asynchronous activities are not collaborative activities. Students are expected to do these types of examinations on their own.

7. Copying codes from another student is prohibited. The professor reserves the right to use tools that will determine the similarity index between two codes. A similarity index of more than 95 percent will be considered a prima-facie evidence for cheating.


Online Exams and Deliverables

1. Quizzes and exams are given on a certain day.

2. They are not online proctored; however, students are required to submit their deliverables within the time frame given.

3. An online exam or deliverable is automatically given an extra 10 minutes. This extra 10 minutes is not part of the scheduled time. They serve as a grace period for instances where technical glitches occur. This means that if a student submits an exam or lab after the 10 minutes grace period, he or she is already more than 10 minutes late.

4. Late submissions will not be accepted.

5. It is the primary responsibility of the student to ensure that all their devices are functioning properly. A none functioning equipment is not a valid excuse for late or no submission.

6. Work related issues are not valid excuses for missing deliverables.

7. It is your responsibility to make sure that you are submitting the correct file. Wrong submission of files is not a valid excuse for an appeal.


Deadlines

1. Assignment due dates: Every assignment will be given a due date. The student is responsible for submitting the assignment at the deadline shown in the Moodle.

2. Late assignments will not be accepted except for meritorious circumstances. In exceptional instances a deduction of 20 points per day will be given.

3. Tests or examinations: Tests and examinations will be offered only during the scheduled date and time. Missed quizzes or exam will NOT be made up.


Illness and Unavoidable Circumstances

1. Students should inform the instructor immediately through email if there is a chance of missing a deadline, a quiz, or an exam.

2. COVID-19 symptoms do not automatically justify a student to submit his/her deliverables late. A student needs to present proof that he/she was incapacitated due to an illness.


Final exam

Final exams will be cumulative. It will include all lessons discussed in the course.


Online Glitches/Loss of Internet

In the event of a technical glitch, the delivery format is deemed to become asynchronous. This situation means students are still expected to fulfill all deliverables within the course outline. Loss of Internet will not result in moving of deadlines or change of schedules.


KPU POLICIES

Students are responsible for being familiar with the information contained in the KPU, policies and procedures relating to appeals, petitions, formal complaints, standard of conduct, violence and academic honesty.

Please refer to the following with regards to the policy and procedural guidelines:

1. Policy HR15 - Diversity and Inclusiveness Policy / Procedure

2. Policy ST1 - Attendance and Performance in Individualized Continuous Intake Programs Policy

3. Policy ST11 - Attendance and Participation in Courses (only in course presentations where this policy applies)

4. Policy ST2 – Student Academic Integrity Policy / Procedure

5. Policy ST7 - Student Conduct (Non Academic) Policy

6. Policy SR14 – Sexual Violence and Misconduct Policy / Procedure

*All KPU policies and procedural guidelines can be found at: http://www.kpu.ca/policies


ACADEMIC INTEGRITY

Plagiarism and Cheating: There will be zero tolerance for any plagiarism or cheating. KPU, in common with other educational institutions, condemns academic dishonesty.

Plagiarism is the deliberate formal presentation or submission of the research, ideas, words, illustrations or diagrams of others as one’s own without citation or credit.

Cheating is the use of unauthorized aids, assistance or materials in the preparation of assignments or in examinations. During examinations it is considered cheating to communicate with others to obtain information, to copy from the work of others or to deliberately expose or convey information to others. The resubmission of one’s work for which credit has already been granted in another course, without instructor permission, is also cheating.


Appeals

All grade appeal should be submitted within 3 days after receiving the grades of the aforementioned assessment. Failure to file anappeal within 3 days will mean that the grade is now permanent.

Violations of Academic Integrity: Violations of academic integrity policy will be reported to the Dean’s office for review. KPU mandates penalties for these offenses, which range from a zero grade on the work affected by this policy all the way to expulsion from the college.


CLASS CANCELLATION

In the event that a class is cancelled due to some unforeseen circumstance, a notification will be made through MOODLE


MEANS OF ASSESSMENT

A final course grade is determined based on the following instruments and its corresponding weighted percentages: 

Lab Assignments                   20%

Quizzes**                             20%

Midterm**                            30%

Final**                                 30%

Total                                    100%

The student’s achievement will be converted to a letter grade, in accordance with department policy. student is required to produce his or her ID card during examinations.


GRADING SYSTEM

Grade
Grade
Points
Conversion Scale
(%)
Definition
A+
4.33
90 - 100
Exceptional Achievement
A
4.00
85 - 89
Outstanding Achievement
A-
3.67
80 - 84
Excellent Achievement
B+
3.33
76 - 79
Very Good Achievement
B
3.00
72 - 75
Good Achievement
B-
2.67
68 - 71
Good Achievement
C+
2.33
64 - 67
Satisfactory Achievement
C
2.00
60 - 63
Satisfactory Achievement
C-
1.67
56 - 59
Satisfactory Achievement
D
1.00
50 - 55
Marginal Achievement
F
0.00
0 - 49
Unsatisfactory Achievement


Tentative Course Schedule

The course schedule is subject to change (Following College Policy and with notice to students).

  Weeks
  Topics
  Activity
  Week 1
  1. Introduction to the Course and Programming
  2. Java Fundamentals
  1. Data types, variables, and comments
  2. Arithmetic operators
  3. Conversion between primitive data types
  4. Math and Stringclass
  5. Scope
  6. Reading keyboard input using different classes
  7. Displaying formatted output with System.out.printf
  Lectures
  Class Exercise
  Week 2
  Decision Structures
  1. if, if-else,if-else-if
  2. logical operators
  3. comparing Stringobjects
  4. Conditional operator
  5. Switch
  Lectures
  Class Exercise
  Assignment 1
  Week 3
    1. Loops
  1. while, do – while,for
  2. nested loops
    2. Inputandoutputfile processing
  Lectures
  Class Exercise
  Week 4
  Classes
  1. Basic classdiagram
  2. Instance fields andmethods
  3. static classmembers
  4. Constructors
  5. Overloaded methodsand constructors
  6. Passing objects as arguments
  7. ReturningObjectsfrommethods
  Lecture
  Quiz 1

  8. toString method
  9. copymethod/constructors
  10. Aggregation (UML)
  11. thisreference
  12. inner classes
  13. Class collaboration(UML)

  Week 5
  - ContinuationforClasses
  Lectures
  Class Exercise
  Week 6
  Arrays and ArrayList
  1. Singleandmultidimensionalarrays
  2. Passing arrays as argumentsto methods
  3. ReturningArraysfrommethods
  4. String Arrays
  5. Arrays ofObjects
  6. Command-line arguments
  7. Variablelengthargumentlists
  8. ArrayList/VectorClass
  Lectures
  Class Exercise
  Assignment 2
  Week 7
  1. IntroductiontobasicSearchandSorting algorithm
  Lectures
  Class Exercise
  Week 8
    1. TextProcessingandWrapperClasses
  1. Wrapper classes
  2. String object and related classes (e.g StringBuilder)
  Lectures
  Midterm
  Week 9
  - ContinuationforTextProcessing
    2. Inheritance, Abstract classes and Interfaces
  1. Calling superclass constructor and methods
  2. Protected members
  3. Polymorphism
  4. Abstractclassesandabstract methods
  5. Interfaces
  6. Anonymous innerclasses
  Lectures
  Class Exercise
  Week 10
  - Continuation for Inheritance, Abstract Classes andInterfaces
  Lectures
  Class Exercise

  1. Handling and Throwing Exceptions
  2. Tokenizing Strings
  3. Binary and Random Access Files
  4. Object Serialization
  Lectures
  Class Exercise
  Quiz 2
  Week 12
    1. GUIandEventHandlingthrough Swing and/orJavaFX
  Lectures
  Class Exercise
  Assignment 3
  Week 13
    GUI Design continued
  Lectures
  Class Exercise
  Week 14
    SDLC and UML

  Week 15
  Final Exam (Aug 14)