Course Information

Instructor        : Prof. Sampath Jayarathna, Web: http://www.cpp.edu/~ukjayarathna

Contact           : Office: 8-46, Email: ukjayarathna@cpp.edu, Phone: (909) 869-3145

Office Hours   : Monday and Tuesday, 11.00 AM – 1.00 PM, or email me for an appointment

Schedule         : Monday and Wednesday, Room: 8-345, Time: 4.00 PM – 5.50 PM

Website           : http://www.cpp.edu/~ukjayarathna/courses/s18/cs141        

Piazza              : www.piazza.com/csupomona/spring2018/cs141/home     

Blackboard      : https://blackboard.cpp.edu/

Prerequisites    : CS 140 and  MAT 114 with grades of C or better, or instructor’s consent.

What is this course about?

The objective of this course is to introduce the concepts of object oriented programming (OOP) using Java. This course will cover fundamental concepts of OOP such as encapsulation, inheritance, and polymorphism In addition, exception handling, some basic data structures, recursion, and IO topics will also be discussed.

What will you get form this course?

Required / Optional materials

What you can expect from me:

I have an open-door policy i.e., office visits. My posted office hours are times when I will make concerted effort to be available. Occasionally administrative meetings or emergencies may interfere with these posted times. The open-door policy is: if my door is open, I am in and welcome walk-in visitations.  I am committed to supporting students with disabilities. If you have challenges related to these issues or others I want to work with you to help you succeed. Please come and talk to me, since only you can properly communicate your situation to me.

Tentative Course Schedule

Topics: The tentative topics are as follows. Topics and specific course activities may change as needed.  PowerPoint slides will be available on the course web page after each lecture.

Week 1: Introduction and Review

Week 2: Introduction to Classes, and Objects

Week 3: Methods

Week 4: Arrays

Week 5: Strings

Week 6: Inheritance and Polymorphism

Week 7: Encapsulation and Visibility

Week 8: Exceptions and Debugging

Week 9: Recursion and Advanced IO

Week 10: Revisions

What you can give to the class:

It is extremely important for you to be engaged in the course. Otherwise, you will fall asleep and wonder what happened to your tuition dollars. So, I encourage you to ask questions during lecture and actively participate at the piazza forum. For the first few weeks, when asking a question at the class, state your name so that I know who you are.

Cell phones and Tardiness: You may have cell phones in class, but they must be on mute, or airplane mode and not answered until the end of class. You are expected to arrive on time so that you do not cause a disruption in the middle of class. I would like to start the class at the scheduled time. If you cannot make it on time or want to leave early for some reason, please let me know. Persistent tardiness will be noted.

Communication

Piazza: All questions will be fielded through Piazza. The primary benefit is that for many questions everyone can see the answer and other students can answer as well. I will endorse good student responses. Additionally, I expect you to actively participate in online discussions at Piazza. You can post public or private messages that can only be seen by the instructor. You will be signed up with your cpp email, but you may switch to another email.  

Blackboard: Blackboard will be used primarily for grade dissemination.

Email: If you send email to me, please be sure to include your name and the course number in the body of the e-mail. You should also use an appropriate subject line that looks like “CS141-HW1” etc. Failure to follow these guidelines may result in delayed response. Again, email should only be used in rare instances, I will probably point you back to Piazza if you have a question related to course materials and/or relevant to other students in the class.  

Course Activities

The scores you receive on the various graded tasks in the class will be weighted as follows:

35% Final Exam (Final is comprehensive): Monday, June 04,  4.00pm – 6.00pm
25% Midterm Exam: Wednesday, April 25 during class time
23% Homework Assignments (5) HW1, HW2 and HW3 worth 3pts each and HW4 and HW5 worths 7pts each
7% Programming Projects (1)
10% Quizzes (2)  + in-class activities
100% Your Total Score for the class

Programming Projects: The project is an opportunity to tackle a more challenging programming assignment. Details, requirements and submission information will be on the course website. We will have 1 individual programming projects, total of 7% of your overall grade.

Final Exam: The final exam is comprehensive, closed books and will be held on Monday, June 04 from 4.00 pm to 6.00 PM. You may bring one standard 8.5" by 11" piece of paper with any notes you deem appropriate or significant (front and back).

Midterm Exam: The midterm exam will be held on Wednesday, April 25 during class time. For both exams, no iPads, iPhones, Blackberries, Android phones/tablets are allowed. Standard calculators are allowed.

Quizzes: You will have 2 quizzes spread across the quarter. I will use them to gauge what topics we need to devote more time to and to train you for the questions that can appear in mid-term and final exams.

In Class Activities: Attendance in class and participation in the discussion are both important to your success in the course. As one crude measure of your participation and course preparation, we will have in class activities related to lecture topics to supplement the learning. I will ask you to bring a computing device (laptop, tablet) capable of handling a Java IDE (eclipse).

Homework: We will have 5 homework assignments, each worth 3% of your overall grade.

Grades

Final course grades are based on the overall average. You are guaranteed a grade based on a 10% window (e.g., 90-100% is an A). Overall class grade (not the individual grade) windows may be increased in size if the instructor finds it appropriate.

Notes: Final score in % will be rounded to the nearest whole number. Assigning + or – grades may be made at instructor’s discretion.)

A: 90-100, B: 80-89, C: 70-79, D: 60-69, Fail (Grade F): 0-59

Grading corrections: Bring any assignment or exam grading correction requests to the instructor within 1 week of receiving the grade, or before the end of the quarter, whichever comes first. After that, your grade will not be adjusted. If you find a mistake in grading, please let the instructor know. Your grade will not be lowered.

Attendance, Make-ups, and Late Policies

All projects, homework assignments, are due at the beginning of class in all required forms (e.g., paper and/or submit on blackboard) on the due date. Changes to a submission’s due dates will be avoided because they are unfair to those students who have organized their time to complete the assigned work. Individual accommodations will be discussed if you have a valid medical excuse.

Programming project due dates will be set to give ample time for completion of the project and will not be extended save for the unexpected and unlikely major, long-lived catastrophe. Start projects early--last minute computer malfunctions will not be accepted as a reason for delaying a project due date.  Unless otherwise noted, all programming projects should be submitted via the Blackboard at the beginning of the class. 

Unless otherwise specified by the instructor, only the final exam will be comprehensive, covering material from the entire course. There are no makeups or rescheduling of exams unless you have a plausible reason with appropriate document or verification for absence. Rescheduling of exams must be arranged at least one week in advance. An exam/quiz missed without an acceptable excuse will be recorded as a grade of zero (0).  Please also be aware that no electronic devices are allowed during the exam, including but not limited to cell phones, Blackberries, PDAs, IPods, MP3 players, calculators, cameras, programmable watches, earphones, and Bluetooth devices.

For both Programming projects and Homework assignments, each late submission will incur a 5 points penalty per day. A missed submission without an acceptable excuse will be recorded as a grade of zero (0). No submission will be accepted after 3rd day and will be recorded as a grade of zero (0). There will be no makeup for programming projects and homework assignments.  Unless otherwise noted, all homework assignments be submitted via the Blackboard at the beginning of the class. 

Academic Offenses

Scholarly dishonesty, especially plagiarism, will not be tolerated. Plagiarism is defined as "Failing to credit sources used in a work product to pass off the work as one's own. Attempting to receive credit for work performed by another, including papers obtained in whole or in part from individuals or other sources."  Students found to have engaged in plagiarism will be punished severely, typically earning an automatic F in the course and being reported to the Office of Student Conduct and Integrity. The Office of Student Conduct & Integrity investigates issues of student misconduct to determine if there has been a violation of the Student Conduct Code. If students are found responsible for a violation, students receive educational sanctions which can range anywhere from warnings to expulsion from the California State University system. 

For the homework assignments and projects, you may talk to any other class member or work in groups to discuss the problems in a general way. However, your actual detailed solution must be yours alone. If you do talk to other students, you must write on your submission who it is that you discussed the problems with. Your submitted work must be written solely by you and not contain work directly copied from others.

Homework Assignments/Programming Projects Collaboration Clarification: To clarify, your homework assignment/project is yours alone and you are expected to complete each independently. Your solution should be written by you without the direct aid or help of anyone else. However, I believe that collaboration and team work are important for facilitating learning, so I encourage you to discuss problems and general problem approaches (but not actual solutions) with your classmates. If you do have a chat with another student about a problem, you must inform me by writing a note on your submission (e.g., Bob pointed me to the relevant section for problem 3). The basic rule is that no student should explicitly share a solution with another student (and thereby circumvent the basic learning process), but it is okay to share general approaches, directions, and so on. If you feel like you have an issue that needs clarification, feel free to contact me.

Disability Resources

The Americans with Disabilities Act (ADA) is a federal anti-discrimination statute that provides comprehensive civil rights protection for persons with disabilities. Among other things, this legislation requires that all students with disabilities be guaranteed a learning environment that provides for reasonable accommodation of their disabilities.

If you have a physical or a learning disability, please talk to me privately and/or contact the Disability Resource Center (DRC) at 909-869-3333. The location is at Bldg 9-103 to coordinate course accommodations. For further information, visit the DRC website at http://www.cpp.edu/~drc/index.shtml