Computer Science Department
Comp150 - Object-Oriented Programming
“We don't receive wisdom; we must discover it for ourselves after a journey that no one can take for us or spare us.” ― Marcel Proust
Information contained in this syllabus, other than that mandated by the University, may be subject to change with advance notice, as deemed appropriate by the instructor.
This course will teach the students how to design and implement object-oriented programs in Java using sound software engineering methodology. The stress will be on object orientation as a convenient and efficient way of expressing and solving problems. Students will gain understanding of the object-oriented concepts while learning practical skills of Java programming. That approach will allow students to use object-oriented approaches that reach beyond a single programming language.
The course is managed through CI Learn 2.0 (Canvas) services. Please access the course information using your account at https://cilearn.csuci.edu/ The detailed, day-by-day course schedule, lecture notes, assignments and announcements will be posted there, so please check this site on regular basis.
Mondays 10:00 - 11:50 am
Wednesdays 10:00 - 11:50 am
Sierra Hall 1232
Office hours: Mon 1:15 - 2:15 pm, Wed 12:00 - 1:00 pm,
or by Appointment
hours are not lecture replacements! Please come prepared
to ask questions, so we can communicate efficiently.
Author: Matt Weisfeld
Title: The Object-Oriented Thought Process
Publisher: Addison-Wesley Professional
In order to be successful in this challenging class:
"Current Stable Release" of DrJava
Integrated Development Environment (http://www.drjava.org/)
is installed on all computers in the Computer Science labs in
Sierra Hall. The students will be required to use this tool.
DrJava is a freely available software that students may install on their own computers. It requires Java 2 (JDK 1.5.0 or newer). We will be using JDK 8 (http://java.sun.com/javase/downloads/index.jsp) in the lab.
This is a practical hands-on course that will involve students throughout the semester. Lectures will be immediately followed with hands-on work. During the lab portion of the class meeting students will be solving assigned practice problems that were introduced during the lecture. Most of the chapters will be split into two class meetings, please consult the course calendar in CI Learn 2.0 (Canvas) for the details.
Learning to program requires a systematic time commitment, as each new concept builds on the previously learned. To encourage students to keep up with the course content and to provide immediate feedback to the students and to the instructor, each week there will be programming assignments that will highlight important concepts covered in the class. Also, there will be several programming tests that the students will work on during the class time.
The students will submit their work in electronic format through assignments' submission facility of the CI Learn 2.0 (Canvas). Students should be prepared to defend their work as the instructor may initiate a discussion of the project after the submission.
All academic work must be your own. Plagiarism, defined as copying or receiving materials from a source or sources and submitting this material as one's own without acknowledging the source, or otherwise representing the work of others as your own, is NOT allowed and will result in 0 points for the assignment. Sharing solutions with other students is also considered an Academic Dishonesty.
In many respects, computer science is a collaborative discipline, so I do not mind students helping each other tracking down small problems, however more substantial assistance is not allowed. At no time should another student assist in the design or coding of your program. The design and implementation of your program should be entirely your own work!Violations of the above collaboration will be dealt with severity.
When an assignment is explicitly set as a group assignment, all submissions are individual and I require that the collaboration is clearly stated in the submitted documentation. Furthermore, I require that each member of the collaborating group understands all details of the solution. I reserve the right to assign different grades to the members of a collaborating team depending on their knowledge of the solution and their ability to reproduce it on demand.
Comp150 class participates in Peer-Led Team
Learning. This excellent program consists of learning communities
designed for students who want to excel in class while simultaneously
developing study and learning skills that will be of use in Computer
Science, mathematics and other science classes. A weekly 2-hour
commitment is required. For more information, visit
More about PLTL
The philosophy and practice behind PLTL is that leaders are not "experts" (as tutors and professors are expected to be), but that they're trained to bring out the best in a group in terms of learning, developing self-sufficiency and effective study skills, etc. When it works, students learn how to learn – frequently in study groups – and take that skill to their higher-level courses. One long-term goal is that students become more independent in their learning and use themselves, various materials, and their peers as resources without immediately concluding they need the intervention of an expert.
In the Peer-Led Team Learning model, a student (the Peer Leader) organizes and oversees weekly workshop sessions on topics recently covered. Peer Leaders receive training on course content, group facilitation skills, and college success skills (note-taking, study habits, etc.). Peer Leaders' responsibilities include attending training and providing advice, insight and support to workshop participants. Workshops begin in the second or third week of the semester and go through the 14th week of classes.
Each assignment has a due date. The late submissions will not be accepted unless a legitimate unforeseen situation arises. To receive an extension, students are responsible for notifying me of their situation prior to a due date and receiving an email from me with an agreed upon extension.
I only accept submissions via the CI Learn 2.0 (Canvas) assignment facility. 0 points will be awarded for a missed assignment. After the due date assignments will no longer be available.
Should you miss the deadline due to technical difficulties such as Internet being down for example, please contact me during the next class meeting. As long as your work has a time stamp before the due date and your name is written inside the file I will accept your late submission under these special circumstances. Any submissions after that will not be accepted and 0 points will be assigned for the missed assignment.
No submissions via email will be accepted.
The submitted code must compile in order to be graded, if the code does not compile the assignment will get an F.
Each file must be properly formatted - penalty of half a grade will be deducted otherwise.
Each modified file must contain the name of the student - penalty of half a grade points will be deducted otherwise.
Each lab is worth 10 points. Each lab is due the next class, unless otherwise stated. Should you miss a lab session, you are strongly encouraged to complete the lab assignment on your own and submit the lab assignment by the due date. Should you miss more than 2 class meetings absentee lab submissions will no longer be accepted.
Before we start a new chapter there is going to be a written "Closed-book" quiz covering the theoretical aspects from the previous chapter.
You must attend the class to be credited for the programming test - absentee submissions will not be accepted. The programming tests are due at the end of the class and must be submitted for grading before you leave the classroom. Students must work on the classroom computers, personal laptops are not allowed. During the programming tests you can use your textbook and lookup your work (previous homework, lab assignments). Use of the Internet is limited to the access to CI Learn 2.0 (Canvas) and Java API. Use of any other resources will result in 0 for the test. Please be advised that the classroom management tool is utilized by me in supervision mode during each test, that allows for view of students computer screens and taking snapshots.
The first programming test is an Early Assessment Project that is held in the week 3 of the semester, it is designed to give you an early indication of how well you are absorbing the material and if any adjustments are needed.
|Course Credit Hours:||4|
|Grade Type:||98 -100%
- A +
94 - 97.99% - A
90 - 93.99% - A-
87 - 89.99% - B+
84 - 86.99% - B
80 - 83.99% - B-
77 - 79.99% - C+
74 - 76.99% - C
70 - 73.99% - C-
67 - 69.99% - D+
64 - 66.99% - D
61 - 63.99% - D-
anything below 61% - F
|Grade Percentage:||10% - Quizzes|
|65% - Programming Tests|
||25% - Labs|
Your course-grade average (on a scale of 0 -- 100) will be calculated as the weighted average of your averages on quizzes, programming tests, and labs using the weight distribution that is listed above.
Important note - a cumulative grade of C- or better for Programming Tests is required to pass the class; if you fail this component you will fail the course, and the cumulative grade for Programming Tests will be assigned as the course grade!
Please note that a grade of C- or better is required in all pre-requisite courses in the CS major.
The instructor reserves the right to adjust any grade of any student in response to in-class participation as well as any other forthcoming vital information.
You have access to the Grade center in CI Learn 2.0 (Canvas) at all times to track your progress and you are encouraged to contact me with questions or concerns. All activities are designed to support your learning throughout the whole semester.
Regular attendance is expected of all students.
You must be present the whole class meeting (Lecture portion and the Lab portion) in order to be marked as present.
If you are absent from a class, it is your responsibility to study the material presented in the lecture on your own and check on any announcements made while you were absent. You need to come prepared to the class as the labs are designed to practice the material covered in the lecture - lab sessions are not the place to catch up on the missing material!
Should you miss a class, you are strongly encouraged to complete the lab assignments on your own and submit the lab report to the instructor by the due date. Should you miss more than 2 class meetings absentee lab submissions will no longer be accepted.
Assignments will not be rescheduled except in extreme circumstances.
Student conduct which disrupts the learning process, such as unnecessary talking, cell phone noise, or using the computers for anything other than class assignments requested by the instructor shall not be tolerated and may lead to removal from class or lowering of your grade.
If a student is found responsible for committing an act of academic dishonesty in this course, the student may receive academic penalties including a failing grade on an assignment or in the course, and a disciplinary referral will be made and submitted to the Student Conduct & Community Responsibility office. Students are expected to familiarize themselves with the University Student Conduct Code at the following link:http://www.csuci.edu/campuslife/student-conduct/academic-dishonesty.htm). Please ask about my expectations regarding academic dishonesty in this course if they are unclear.
If you are a student with a disability requesting reasonable accommodations in this course, please visit Disability Accommodations and Support Services (DASS) located on the second floor of Arroyo Hall, or call 805-437-3331. All requests for reasonable accommodations require registration with DASS in advance of need:https://www.csuci.edu/dass/students/apply-for-services.htm. Faculty, students and DASS will work together regarding classroom accommodations.
Please discuss approved accommodations with me ASAP.