CS 102 Algorithms and Programming II
Objectives
- Undertake real-world design task
- Work as a member of a team
- Practice communication in written & oral form
- Learn more programming techniques
- Practice independent learning!
General
CS102 gives you an opportunity to put the basic computer literacy, design and
programming skills you learnt in CS101 into practice. The course has two
components. The first is simply a continuation of CS101 aimed at expanding the
range of techniques you have available to solve problems. These new techniques
will be presented in formal lectures and, as in CS101, you will be given lab.
assignments designed to let you practice them. Material in this section includes
recursion, files and some basic data structures, plus a little about
object-oriented programming, event-driven architectures, searching and sorting.
There will be written exams on these topics. The second component of the course
is a semester-long design project. The ultimate goal is to produce a
commercial-quality program which is fully documented, bug-free and easy to use.
You will work in groups, each group selecting a different project. You will be
expected to prepare a number of written reports and to present these in class.
These documents will include basic requirements, specifications, detailed design
and user manuals. Groups will discuss each other's work and offer suggestions
and criticisms on it so as to help improve the final product. Projects will be
undertaken using Java. Students will be expected to display creativity and an
ability to learn independently.
Important Announcements
Final exam papers are graded. You can see your final exam papers on Thursday, July 31, 2008.
First Midterm Exam will be on 7 July 2008, Monday at 17:30. The exam will be
a closed-book exam. You can prepare a double-sided A4 size cheat sheet.
You must prepare the cheat sheet with your own hand-writing and write your
name on it. You cannot photocopy or typeset your cheat sheet. You must
submit the cheat-sheet at the end of the exam with your exam paper.
The exam will be at the following rooms:
- Rooms EB101, EB102, EB103, EB104, and EB201.
First lab will be on
- June 13, Friday 13:40-17:30 2008 (Section 1),
- June 11, Wednesday 13:40-17:30, 2008 (Section 2), and
- June 13, Friday 08:40 - 12:30, 2008 (Section 3).
Lab groups are as follows:
- Section 1: Tuesday 13:40-17:30, Friday 13:40-17:30, Labs: B304 and B305
- B304: [AKDAS, IREM - KAYA, CAGLAR YUCE], Teaching Assistant: Ridvan Dongelci
- B305: [KILIC, EZGI - YUCE, DURMUS], Teaching Assistant: Yusuf Aytas
- Section 2: Monday 13:40-17:30, Wednesday 13:40 - 17:30, Labs: B302 and B303
- B302: [AK, MURATHAN RECEP - KURTUNCU, OSMAN MELIH], Teaching Assistant: Huseyin Guler
- B303: [MAMIKOGLU, MEHMET SARP - YUKSEKER, AHMET], Teaching Assistant: Ender Demirkaya
- Section 3: Wednesday 13:40-17:30, Friday 13:40 - 17:30,
Labs: B303 and B304
- B303: [AKKUS, ENGIN - UYSALTURK, MAHIR CAN], Teaching Assistant: Kutalmis Akpinar
- B304: [USTUNDAG, CEM - ], Teaching Assistant: Berk Gokten
Assistant's Web Page for Projects and Assignments
Course Schedule:
- Section 1: Monday 13:40, 14:40, 15:40 (EB101), Wednesday 13:40, 14:40, 15:40 (EB101)
- Section 2: Tuesday 8:40, 9:40, 10:40 (EB101), Thursday 8:40, 9:40, 10:40 (EB101)
- Section 3: Tuesday 8:40, 9:40, 10:40 (EB103), Thursday 8:40, 9:40, 10:40 (EB103)
Lab Schedule:
- Section 1: Tuesday 13:40-17:30, Friday 13:40-17:30, Labs: B304 and B305
- Section 2: Monday 13:40-17:30, Wednesday 13:40-17:30, Labs: B302 and B303
- Section 3: Wednesday 08:40-12:30, Friday 08:40-12:30, Labs: B303 and B304
Course Rules:
-
You should get at least 30 / 100 from the final exam and
from the project to pass the course.
-
Attendance to the lectures and laboratory mandatory.
Although not listed in the grade
percentage I may give quizzes randomly.
-
You may fail the course if the attendance is below a certain
percentage.
-
Those who fail to attend more than one lab without any
excuse (a valid medical report, etc.) will fail the course.
Project Details:
There will be a course project that should be done in groups of five students.
You should choose a project from the following list or you can come up
with your own project topic. Project groups should do the labs together
since some part of the project work will be done in labs. You should
arrange your project/lab groups accordingly. You can also arrange project
groups with students from different sections. In this case, you should arrange
your lab schedule with the Teaching Assistants accordingly. It is NOT possible
to attend the labs in different sections for the students belonging to the same
project group, since some part of the projects are done in labs.
Project Topics ans Requirements
You should follow the steps of the software life cycle for your project.
i.e., You will prepare Software Requirements Specification Report,
User Interface Design Report, Detailed Software Design Report, complete
the Implementation (make a demonstration).
-
You should select your project topic until 16-17th June 2008 (depending
on your lab schedule) and
send an email to dongelci@ug.bilkent.edu.tr (and also to the TA of your
section) specifying your project
group members, project title. Specify CS102 Project in the subject of your e-mail.
-
You will start working on your Project Requirements Specification stage
in the labs on June 16-June 17, Monday-Tuesday, 2008 (Depending on your lab schedule).
Detailed information about Requirements Specification Stage can be
found in Requirements Specification Stage.
-
You will complete your Project Requirements Specification Report
in the labs on June 23-June 24, Monday-Tuesday, 2008 (Depending on your
lab schedule). You are expected to interact with the Teaching Assistant
in the lab and finalize your Requirement Specification Reports.
You will submit your reports to the TA at the end of the lab.
Detailed information about how
to prepare Requirements Specification Reports can be found in
Requirements Specification Stage.
-
You will start working on your User Interface Design Stage
in the labs on June 30-July 1, Monday-Tuesday, 2008 (Depending
on your lab schedule). Detailed information about User Interface
Design Stage can be found in
Requirements Specification Stage.
-
You will complete your User Interface Design Report in the labs
on July 7, July 8th, Monday-Tuesday, 2008 (Depending on your lab schedule).
You are expected to interact with the Teaching Assistant
in the lab and finalize your User Interface Design Reports.
You will submit your reports to the TA at the end of the lab.
Detailed information about how to prepare User Interface Design
Reports can be found in
User Interface Design Stage.
-
You will complete your Detailed Design Stage in the labs on July 16-18,
Wednesday-Friday, 2008 (Depending on your lab schedule).
You are expected to interact with the Teaching Assistant
in the lab and finalize your Detailed Design Reports.
You will submit your reports to the TA at the end of the lab.
Detailed information about how to prepare Detailed Design Reports
can be found in
Detailed Design Stage.
-
In the remanining labs, you will complete implementation of your projects.
Some tips about the implementation of the projects can be
found in
Implementation Stage.
-
Each project group will make an approximately 15 minutes presentation and a 5 minutes
demonstation of their projects on July 24, Thursday, 2008, in Mithat Coruh Amphitheater.
Attendance to the project presentations and demos in the amphitheater is mandatory.
If a student fails to attend the presentations and demonstration, (s)he will fail the course
directly. Each student must attend the presentations in his section; although
(s)he may attend the presentations and demonstration of other sections too.
The schedule will be as follows:
- Section 1: 9:00 - 11:30
- Section 2: 12:30 - 16:00
- Section 3: 16:00 - 17:30
You must upload your demonstrations and presentations to the computers provided
by the assistants beforehand. We cannot change computers during the presentations
due to tight schedule.
You should organize your presentation as
- 12 minutes presentation, and
- 3 minutes questions.
In your presentation, you should mention about the requirements of your project
(What are the functionalities expected), your user interface design,
high level class design of your project (use class diagrams), details of the
important methods (you can use pseudo-code to explain them), and implementation
details, like the language and data structures you used.
- Each project group must submit a CD containing three directories
(July 28, 2008 Monday) just before the final exam.
(The CD must be clearly labeled on the CD itself and must be put in a CD envelope
(which also have a label indicating group members, the name of the project, etc.):
- Documentation:
- Requirements Specification Report,
- User Interface Design Report,
- Detailed Design Report
- Implementation
- Source Codes,
- Executables,
- README.TXT explaining how to install and run your program, required libraries, databases, etc.
- Presentation
Project Topics ans Requirements
| Lecturers: |
Ugur Gudukbay [email]
Room: EA524, Tel: 1386
Office Hours: Thursday 08:40-10:30
(or by appointment through email) |
| |
Tugrul Dayar [email]
Room: EA521, Tel: 1981
Office Hours: Wednesday 08:40-10:30
(or by appointment through email) |
| |
Ozcan Ozturk [email]
Room: EA521, Tel: 3444
Office Hours: Monday 08:40-10:30
(or by appointment through email) |
| Class schedule: |
Section 1: Monday 13:40, 14:40, 15:40 (EB101), Wednesday 13:40, 14:40, 15:40
(EB101)
Section 2: Tuesday 8:40, 9:40, 10:40 (EB101), Thursday 8:40, 9:40, 10:40 (EB101)
Section 3: Tuesday 8:40, 9:40, 10:40 (EB103), Thursday 8:40, 9:40, 10:40 (EB103)
|
| Lab. hours: |
Section 1: Tuesday 13:40 - 17:30, Friday 13:40 - 17:30, Place: B304 and B305
Section 2: Monday 13:40 - 17:30, Wednesday 13:40 - 17:30, Place: B302 and B303
Section 3: Wednesday 08:40 - 12:30, Friday 08:40 - 12:30, Place: B303 and
B304
|
| Assistants: |
Ridvan Dongelci [email],
Room: EA ___, Tel: ___
Office Hours: Tuesday and Fridays: 10:30-12:00
(Other times by appointment using email).
Huseyin Guler [email],
Room: EA ___, Tel: ___
Office Hours: Tuesday and Fridays: 10:30-12:00
(Other times by appointment using email).
Ender Demirkaya [email],
Room: EA ___, Tel: ___
Office Hours: Tuesday and Fridays: 10:30-12:00 and
(Other times by appointment using email).
Yusuf Aytas [email],
Room: EA ___, Tel: ___
Office Hours: Tuesday and Fridays: 10:30-12:00 and
(Other times by appointment using email).
Kutalmis Akpinar [email],
Room: EA ___, Tel: ___
Office Hours: Tuesday and Fridays: 10:30-12:00 and
(Other times by appointment using email).
Berk Gokten [email],
Room: EA ___, Tel: ___
Office Hours: Tuesday and Fridays: 10:30-12:00 and
(Other times by appointment using email).
Assistant's Web Page for Projects and Assignments
|
-
- Schedule
(Select courses curricula, Offerings (Computer Engineering),
and Schedule)
- Syllabus
(Select courses curricula, Offerings (Computer Engineering),
and Syllabus)
Textbooks
- Lewis and Loftus, Java Software Solutions, 6th Edition, Addison-Wesley, 2007.
Addison-Wesley (Publisher's) Web Site: Contains Useful Materials, like Lecture
Slides, Programming Examples, etc.
- Walter Sawitch, Absolute Java - Third Edition, Addison-Wesley, 2007.
Addison-Wesley (Publishers) Website
-
Other Sections CS102 (David Davenport) Course Web Page
Last updated: June 3, 2008