CSCI 202: Object-Oriented Programming
Syllabus
Class Nbr. | 2104 | ||||
Meeting: | M W F, 8 - 8:50am in SW1017 | ||||
Labs: | T, 8 - 8:50am in SW1017 | ||||
Texts: | Introduction to Java Programming
by Y. Daniel Liang, 10th Ed. Object-Oriented Programming with C++, 4th Edition by R. Lafore (ISBN: 0-672-32308-7) | ||||
Online: | JDK™ Documentation | ||||
Prerequisites: | CSCI 201 | ||||
Instructor: | Dr. Sergei Bezrukov | Office: Swenson 3022 | Schedule and Office hours | ||
![]() | ![]() |
Catalog Description
Continuation of CSCI 201. A programming course emphasizing the methodology of programming from an object-oriented perspective and software engineering principles. Topics include: data structure fundamentals; abstraction; pointer and reference variables; recursion; various important algorithms; and file processing techniques. Lecture and lab.
Course Objectives
- Present object-oriented aspects of Java and C++
- Provide an introduction to several standard data structures
- Teach you basic features of C++ programming language
- Explain major differences between Java and C++
- Introduce the Standard Template Library
Software and Hardware Requirements
- Hardware: (all computers in SW labs
satisfy these requirements)
- Computer with color monitor, CDROM drive, and mouse.
- Minimum 256 Mb of memory, minimum 200 Mb free space on the hard disk.
- Internet access (cable/DSL access is not required but recommended).
- Software: (all necessary software is
installed in SW labs)
- Operating systems: Linux and Microsoft Windows XP/7/8/10
- Web browser:
- recommended: Firefox download from www.mozilla.org or
- Microsoft Internet Explorer
- Java™ Platform Standard Edition
(Java SE):
- JRE (Java Runtime Environment)
- SDK (Software Development Kit)
- Netbeans IDE
Note: All necessary Java software can also be installed from the CDROM supplied with the book. - GNU C++ compiler (for Linux)
- Tools for communication with Linux server:
- Windows: WinSCP and Putty
- Linux/Unix: scp and ssh utilities must be installed.
- Mac: MacSSH and MacSFTP (download from SourceForge.net)
Evaluation and Grading
- Scores and grade
- The final grade for the course depends on the averaged score for home work assignments (this score is denoted by hw), scores for two midterm exams (denoted by ex1 and ex2), score for the final exam (ex3), and some amount of bonus points.
- The total score will be computed according to the formula:
total score = (25*hw + 25*ex1 + 25*ex2 + 25*ex3) / 100 + bonus + attendance
- The total score will be translated into the final grade according to
the following table:
A : 93 - 96 A- : 90 - 92 B+ : 87 - 89 B : 83 - 86 B- : 80 - 82 C+ : 77 - 79 C : 73 - 76 C- : 70 - 72 D+ : 67 - 69 D : 63 - 66 D- : 60 - 62 F : 0 - 59
- Assignments (25%)
Take home exercises will be regularly assigned, collected, graded and returned. The students are allowed to discuss the problems in groups, however final writings must be done strictly individually. Returning identical work is qualified as cheating (see below).- Maximum score for each assignment is 100 points.
- For final grade purposes, the lowest of the assignment scores will be dropped if it is above 60% (this cannot decrease your average homework score).
- If hw1, hw2, ... ,
hw9 are the scores for these assignments (each number
in the range 0 to 100), then the total score for the assignments is the
average of these scores, that is
hw = (hw1 + hw2 + ... + hw9) / 9rounded off to the nearest integer from above.
- Labs and attendance
Attendance of labs and classes is required and will be controlled. Every student will be given 3 credits for the lab attendance in advance. Not attending a lab will result in decreasing this value on 1 (it even can go to negative). Exceptions from this rule are restricted to:- University-related business (athletics, committees, student conferences, etc.)
- Documented health-related issues.
- Midterm exams (two of them, each worth
25%)
One exam will be given after 3-5 weeks of the beginning of the course, and another one will be given about 2-4 weeks before the end of the course. The maximum score for each midterm exam is 100 points.- The first exam covers the material from the first part of the course.
- The second exam emphasizes on the material covered after the first exam.
- The midterm exams, including possible take-home parts, must be done strictly individually, so no collective solutions or discussions are allowed.
- No late submission of the take-home part (if assigned) is accepted.
- Final exam (25%)
Date/time in Final Examination Schedule. The maximum score for the final exam is 100 points.- The final exam is comprehensive. So, any course content from the entire semester is fair game.
- The final exam must be done strictly individually, so no collective solutions or discussions are allowed.
- No late submission of the take-home part (if assigned) is accepted.
- Bonus points (0-6)
Bonus points will be issued during the last week of classes for:- participation in course related discussions in class (0-2 points)
- quality and completeness of homeworks (0-2 points)
- overall progress in class (0-2 points)
- Special requirements
- It is required to supply every programming task of assignments and exams with a header specifying in detail any non-resolved issues with that task (e.g., compilation errors, runtime errors, etc.). Write, e.g., "no problems noticed" if you believe that your program works fine. Absence of such header will result in losing points for that task.
Class Policies
- Instructor retains the right to make any and all deletions, additions and changes to the requirements or structure of the course and its materials as deemed necessary.
- No class work is accepted after the Final Exam.
- Problems in late homework assignments are accepted within two days after the assignment was due. In this case a student will be penalized on 10 points pro assignment. However, if a solution to a problem is discussed in class or posted online, no late solution to this problem will be accepted after this. A submission is qualified as late if it is returned after the specified date and time.
- Representing someone else's work as your own without referencing
or permitting another student to do so with your work is
cheating.
Leaving your Java source files in a public directory where everybody has an access is also considered as cheating.
Cheating might result in administrative actions described in UWS14.03 UW-System Administrative Code Student Academic Disciplinary Procedures. - A make up of an exam is allowed if an unavoidable absence occurs. A reason for absence must be documented.
- Students are required to check with the instructor if they find some of these rules unclear, before taking an action.
Suggestions for Success in Class
- Do not miss classes. The class discussions emphasize on many particular aspects, a good number of them is not in the textbook or spread out over several chapters in the book so that it might be difficult to find them. These details may be very helpful for your work on the assignments.
- Attend every lab. In most cases the material discussed in the labs won't be discussed again during the regular class meetings. Labs also include some material which are not covered in the textbook. The lab materials will be used for the assignments and exams. The textbook does not replace class meetings or labs, and vice versa.
- Ask right away in class or after the class if something is not clear.
- Read in the books the topics that are covered in class on the same day after the class. Just working on the material during the class hours is far from being enough. It is expected that a student would spend at least 2 hours in average working through the material after each class.
- Prepare yourself for the next class. That is, read in advance the material to be explained in class. Refer to the Course Outline to figure out what will be covered (it will also be announced at the end of each class). It would be much easier for you then to follow the discussion in class. In addition you would know what to pay a particular attention on and what questions to ask.
- Come to the instructor's office hours (or make a special appointment) and do not let the unclear stuff to accumulate.
- Try to find time to solve as many problems as possible (even more than it is assigned). Solving the problems is the only way to learn how to solve them.
University Policies
- Class Cancellations
When weather conditions are dangerous, students will be informed via the media about class cancellations. Students should not call Campus Safety. - Accommodation of Religious Beliefs
Student's sincerely held religious beliefs should be reasonably accommodated with respect to scheduling all examinations and other academic requirements. Students should inform the instructor of these needs at the start of the semester. - Disabilities Accommodation
Adaptations of methods, materials or testing will be made to accommodate educational participation. Students should inform the instructor of these needs at the start of the semester.
Please refer to the University Catalog or the UW-Superior Web page for full description of these and other policies.