BBM102 - Introduction to Programming II

Lectures: TBA

Practicum (BBM104): TBA

Lecturers:

tba (Sec. 1)

tba (Sec. 2)

tba (Sec. 3)

e-mail:

tba

tba

tba

Office

tba

tba

tba

Office Hours:

tba

tba

tba



TAs:

tba

tba

-

Office:

Office:


Office Hours: tba      

Office Hours: tba      

Office Hours: tba      


Course Description:

This course will help students understand object-oriented programming principles and apply them in the construction of Java programs.The course is structured around basic topics such as class, object, encapsulation, inheritance, polymorphism, abstract classes and interfaces and exception handling. The students will gain hand-on experience via a set of programming assignments supplied in the complementary BBM 104 Introduction to Programming Practicum.


Reference books:

Java - An Introduction to Problem Solving and Programming, Walter Savitch, Pearson

Java - How to Program, Paul Deitel and Harvey Deitel, Prentice Hall


Grading Policy

For BBM102

2 Midterm exams   

30% + 30% = 60%

Final exam

40%


For BBM104

3 Assignments   

15% (PA1) + 15% (PA2) + 20% (PA3) = 50%

4 Quizzes

12.5% * 4 = 50%

Final exam

None

Class attendance

None


Important Dates:

Programming Assignment #1

     tba     

-      tba     

Programming Assignment #2

     tba     

-      tba     

Programming Assignment #3

     tba     

-      tba     

Midterm Exam #1


tba

Midterm Exam #2


tba

Final Exam


tba


Detailed Schedule:


Week   

Topic   

Programming Assignments


1

Introduction to Java

tba

2

Object Oriented Design

tba

3

Classes and Objects

tba

4

Encapsulation

tba

5

Inheritance

tba

6

Polymorphism

tba

7

Exceptions

tba

8

Midterm Exam I

tba

9

Collections

tba

10

(Public Holiday)

tba

11

Generics

tba

12

Midterm Exam 2

tba

13

Data Structures

tba

14

Review

tba




Additional Resources:

IDEs
Your programs need to work in the standard environment as we evaluate them on dev.cs.hacettepe.edu.tr. Although you could work on command line, Eclipse is the best way to work with Java.

General purpose text editors

Communication:

All course communications will be conducted via Piazza. Please enroll in the BBM102 and BBM104 Piazza courses for the current semester.


Policies:

Attendance to lectures is mandatory. Those who do not attend more than 4 of the classes will fail BBM102 directly with F1 grade. You are responsible for all material presented in lecture. Some of the course material is not covered in the textbook. All work on assignments must be done individually unless stated otherwise. You are encouraged to discuss with your classmates about the given assignments, but these discussions should be carried out in an abstract way. That is, discussions related to a particular solution to a specific problem (either in actual code or in the pseudocode) will not be tolerated. In short, turning in someone else’s work, in whole or in part, as your own will be considered as a violation of academic integrity. Please note that the former condition also holds for the material found on the web as everything on the web has been written by someone else. Those who do not deliver at least 80 percent of the assignments will fail BBM104 directly with F1 grade. F1 disqualifies a student for make up exam/assignment.