BBM102 - Introduction to Programming II, Spring 2016

Lectures: Wednesdays 13:00-15:45 @D1 (Sec. 1), @D2 (Sec. 3), @D3 (Sec. 3), @D4 (Sec. 4)

Practicum (BBM104): Thursdays 13:00-15:45 @D1 (Sec. 1), @D2 (Sec. 3), @D3 (Sec. 3), @D4 (Sec. 4)

Lecturers:

Ayça Tarhan (Sec. 1)

Fuat Akal (Sec. 2)

Gönenç Ercan (Sec. 3)

Vahid Garousi (Sec. 4)

e-mail:

atarhan-at-hacettepe.edu.tr

akal-at-cs.hacettepe.edu.tr

gonenc-at-cs.hacettepe.edu.tr     

vahid-at-cs.hacettepe.edu.tr     

Office, Tel:

206, Tel: 780 7550 / 133

202, Tel: 780 7503

213, Tel: 780 7548

106, Tel: 780 7506 / 125

Office Hours:

Tue 14:00-16:00

Open Door

tba

Tue 14:00-15:00, Wed 11:00-12:00

TAs:

Selma Dilek

Selim Yılmaz

Ahmet Selman Bozkır

selma-at-cs.hacettepe.edu.tr

selimy-at-cs.hacettepe.edu.tr

selman-at-cs.hacettepe.edu.tr

Office: 121

Office: Z06 (Sec. Lab.)

Office: 222

Office Hours: Mon 12:00-13:00, Fri 15:00-16:00

Office Hours: Tue 13.00-15.00      

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, 2012

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


Grading Policy

for BBM102

2 Midterm exams   

20% + 30% = 50%

Final exam

45%

Class attendance

5%

for BBM104

4 Assignments   

10% + 40% + 20% + 20% = 90%

Final exam

None

Quizzes in the Lab

None

Class attendance

10% (Those who are repeating the class and not supposed to attend the lab sessions will be graded based on 90%)


Important Dates:

Programming Assignment #1

  

February 23rd

Programming Assignment #2

March 16th

Programming Assignment #3

April 13th

Programming Assignment #4

April 27th

Midterm Exam #1

April 5th

Midterm Exam #2

May 3rd

Final Exam

tba


Detailed Schedule:


Week   

Date    

Topic   

Programming Assignments


1

15/02  

Introduction to Java [slides] [4-per-page]   

2

22/02

Introduction to Objects [slides] [4-per-page]   

PA1 out

3

01/03

Classes and Objects in Java [slides] [4-per-page]

4

08/03

Encapsulation [slides] [4-per-page]

PA1 due

5

15/03

Inheritance [slides] [4-per-page]

6

22/03

Polymorphism [slides] [4-per-page]

PA2 out

7

29/03

Wrap-up

8

05/04

Midterm Exam 1

9

12/04

Abstract Classes and Interfaces [slides] [4-per-page]

PA2 due, PA3 out

10

19/04

Collections [slides] [4-per-page]

11

26/04

Exceptions [slides] [4-per-page]

PA3 due, PA4 out

12

03/05

Midterm Exam 2

13

10/05

Streams and Input/Output [slides] [4-per-page]

PA4 due

14

17/05

Wrap Up



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.

Miscellaneous

General purpose text editors

Communication:

The course webpage will be updated regularly throughout the semester with lecture notes, programming and reading assignments and important deadlines. All other course related communications will be carried out through Piazza. Please enroll it by following the link: https://piazza.com/hacettepe.edu.tr/spring2017/bbm102.


For the BBM 104 related communications, you should also enroll in Piazza through the link https://piazza.com/hacettepe.edu.tr/spring2017/bbm104


Policies:

Attendance to lectures is mandatory. Those who do not attend 30 percent 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.