You are on page 1of 1

CS102 Object-Oriented Programming

Spring 2014/2015
Lectures: Monday and Tuesday 12:30-14:30 (Classroom 237). Tuesday section will be used as a laboratory study. Bring your own computers to
the class on Tuesdays.
Instructor: M. Furkan Kra, e-mail: furkan.kirac@ozyegin.edu.tr, Office Hours: Monday 14:30-16:30
Teaching Assistants: Narges Ashena, narges.ashena@ozu.edu.tr; Alp Burak Pehlivan, alp.pehlivan@ozu.edu.tr; Muhammet Pakyurek,
muhammet.pakyurek@ozu.edu.tr; Gorkem Sazara, gorkem.sazara@ozu.edu.tr
Course Website: http://srl.ozyegin.edu.tr/cs102
Text-books: 1) Eric Roberts. The Art and Science of Java, Addison Wesley. 2) Deitel & Deitel. Java How to Program, Prentice Hall.
Course Description: This course intends to introduce students to the
basic principles of object-oriented design and related terminology.
Students are expected to develop skills for conceptualizing a solution
to a problem in terms of objects. It is anticipated that students will
demonstrate ability to improve software reuse through inheritance and
aggregation. At the end of the course, students are expected to
1. Assess a high degree of familiarity with the Java
programming language syntax for object-oriented
programming.
2. Understand inheritance and refinement.
3. Distinguish and compare static and non-static methods.
4. Identify and implement the interface of a given class.
5. Demonstrate how to concretize an abstract class.
6. Show ability to use fundamental collection objects.
7. Find out which method among a set of polymorphic
methods a particular invocation will call.
8. Construct a class-based solution to a given problem, and
perform the implementation of the solution.
9. Draw UML class diagrams.
10. Handle exceptions using the try-catch statement and
introduce user-defined exceptions when necessary.
11. Read and write data using input and output streams.

Tentative Weekly Schedule:


Week
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.

Topic
Introduction to Classes and Objects
Classes and Objects (contd)
Inheritance
Static vs. non-static methods, dynamic
dispatch
Midterm and project assignments
Polymorphism,
interfaces,
abstract
classes
Event-driven programming, GUIs
Collections library
Sorting, searching, recursion
Midterm / Project progress discussion
Introduction to UML
Exception handling, Files, Streams
Overview
Project presentations

Assessment Methods: The weight of assessments on the final grade is given below. Students
Assignments
will also be asked to do peer-evaluation (both inter-group and intra-group) for their projects.
Quizzes
Grading: The final letter grades will be determined by using a bell curve.
Midterm I
Teaching Methods: The course consists of 2 weekly lectures. In general, the first lecture each
Midterm II
week is expected to cover the theoretical aspects of computer programming (such as new
Midterm III
terminology, syntax, algorithms, design principles, etc.). Occasionally, student attention will be
Project
evaluated via pop-up quizzes entered into the Lesson Management System (LMS). The second
Total
lecture of the week is expected to provide a variety of hands-on programming examples to the
students analyzed together with the instructor and in a team-setting. Hints about assignments and

quizzes may also be given during this class.
Students will work in groups for their class projects. Periodical progress reports will be required. It will be encouraged that the
graphical user interface.
Homeworks will be designed in a way to help students understand the concepts better and also have hands-on programming
homeworks will serve as a preparation both for the project and for the written exams.

10%
5%
20%
20%
30%
15%
100%

project has a
tasks so that

Rules for attendance: Attendance will not be compulsory. However, it will be strongly encouraged and controlled via frequent quizzes. Missing
classes will affect the overall grade.
Late submissions: Generally not allowed for assessments. Some assignments may have a deferred submission and evaluation period (e.g. 1
week). Quizzes will be pop-up so attendance checking and evaluation will be immediate. Homework will have a due date and students get no
points for late submissions. Exceptional cases will be announced beforehand. Class projects will be presented at the end of the semester by the
students. Therefore, no late submission will be possible.
Missing an exam: Get a failing (zero) grade unless student can make an officially provable case for an emergency to the university.
Statement on plagiarism:
Honor System: This course will give you a chance to learn some new and exciting material and become a cool computer programmer. Your
instructors and teaching assistants are here to help you. You are also encouraged to work with your friends when preparing for classes and
exams. However, in some circumstances you will be asked to work alone (Quizzes, Exams, Homeworks) and in these circumstances getting
solicited or unsolicited help from external sources (cheating) will be strictly prohibited. We have tools in place to catch you and policies to
punish you if you attempt to do so.
Students with Disabilities:
Reasonable accommodations will be made for students with verifiable disabilities.
Flexibility Clause: Circumstances may arise during the course that prevent the instructor from fulfilling each and every component of this
syllabus; therefore, the syllabus should be viewed as a guide and is subject to change. Students will be notified prior to any changes.

You might also like