CS 101
Algorithms and Programming I

Description: Basic computer literacy: terminology, system components and operation. Fundamentals of computer programming: top-down structured design, sequence, decision, repetition, syntax, compilation, debugging and maintenance, object-oriented programming with Java, objects, classes, methods, parameters, arrays, layout and style. The emphasis is on an engineering ''right-first-time'' approach to solving problems using computers. Credit units: 4, ECTS Credit units: 7.

Semester: Spring 2012

Text Book: J. Lewis and W. Loftus, Java Software Solutions with MyProgrammingLab: International Edition, 7/E, Pearson Education, 2011.

Section: 01 (Details...)
Instructor: H. Altay Güvenir (Room: EA-418)

Section: 02 (Details...)
Instructor: Özlem Özgü (Room: EA-410)

Section: 03 (Details...)
Instructor: H. Altay Güvenir (Room: EA-418)

Moodle: Students must log in to SRS and click the Moodle button next to CS101 in order to enroll and gain access the Moodle course page. Students do this once (after which they can log in directly to Moodle). Also, the direct link to Moodle can be used.

The Honor Code Statement must be signed by every student and returned to his/her TA.

If you are not sure about what source code plagiarism is, please read the following paper:
Mike Joy, Georgina Cosma, Jane Yin-Kim Yau, and Jane Sinclair, "Source Code Plagiarism - A Student Perspective",
IEEE Transaction on Education Vol. 15, No. 1, (2011), 125-132.

Weekly Schedule:

  1. Introduction to Computer software and hardware
  2. Getting started to programming
  3. Data and Expressions
  4. Data and Expressions
  5. Using Classes and Objects
  6. Using Classes and Objects
  7. Writing Classes
  8. Writing Classes
  9. Conditions and Loops
  10. Conditions and Loops
  11. Object-Oriented Design
  12. Object-Oriented Design
  13. Arrays
  14. Arrays

Grading Policy:
 Lab work:25%
Quizzes:15%
Homework:5%
Midterm:25%
Final:30%

Important notes:

Useful links: