CS 101 Algorithms and Programming I Fall 2021
Sections 1 & 2: Ugur Dogrusoz, EA-522, Office Hours: Wed, Fri AM
Section 3: Ozcan Ozturk, EA-421, Office Hours: Thu AM

Announcements
  • According to the University regulations, you are to sit in the same seat each lecture, keep your masks on at all times in the classroom, and not attend lectures while with a risky HES code status.
  • HONOR CODE: All students must fully read and comply with THIS to avoid disciplinary action.
  • Check here at least once a week!
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 large problems using computers.

SYLLABUS     MOODLE
Textbook Cay S. Horstmann, Big Java: Late Objects, Enhanced eText, 2nd Edition, Wiley, October 2016.
Outline &
Slides
WeekDatesConcepts / Slides TextbookLab
1Sep 22-24Course Introduction,
Algorithms & Computers
Ch 1No labs
HW1 assigned
2Sep 27 - Oct 1Java &
Fundamental Data Types
Ch 2No labs
HW1 due
3Oct 4-8Input/Output, and Assignment Ch 201 - Setting up & using a Java IDE,
Java basic programs & debugging
4Oct 11-15Decision Ch 302 - I/O, Assignment
5Oct 18-22Decision & Repetition Ch 403 - if statements
6Oct 25-27Repetition Ch 404 - Repetition: while loops
7Nov 1-5Methods Ch 505 - Repetition: for & do-while
8Nov 8-12Review -06 - Static methods
9Nov 15-19OOP, writing classes Ch 8MIDTERM
10Nov 22-26OOP, writing classes &
object/ref
Ch 807 - Objects & Classes
11Nov 29 - Dec 3ArrayLists Ch 608 - Object & Reference
12Dec 6-10Arrays Ch 609 - Collections using ArrayLists
13Dec 13-17Partially-filled arrays Ch 6No labs
14Dec 20-24Searching & Sorting Ch 6 &
Ch 14.1
10 - Arrays
15Dec 27-29Review -No labs
Grading
Component Weight Date/Due
Homework 05 as announced (2-3 of them)
Quiz 10 pop-quizzes during lectures (5-10 of them)
Lab exam 25 see Outline
Midterm 30 Nov 17, 17:40, ??
Final 30 Jan ??, 17:40, B-??
Warning: Students will receive an Fz grade unless they have a minimum 30% on the midterm exam AND a minimum 75% lab average AND a minimum score of 25% on the essay homework.
Exams There will be two written examinations: one midterm and a final. Exams are closed-book. No computers, notes, phones, dictionaries, etc., will be allowed.
Homework & Labs Homework & Lab assignments will be assigned and submitted via Moodle.

There will be some homework assignments during the semester. The first one will be on setting up a proper computer and programming environment so that lab assingments and other programming exercises can be conducted in a proper manner. This specifically includes Visual Studio Code and Java Setup.

All students are expected to attend the weekly lab sessions and complete the assigned exercises as described in this lab guide. Lab seating will be as given here.

Before each lab on Mondays (18:00-20:00, B-201/2), we will hold tutorial sessions. This is where you can get help from more senior students as described in this tutorial guidelines document.
Remarks & Resources