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 8No labs
HW2 assigned
11Nov 29 - Dec 3ArrayLists Ch 607 - Objects & Classes
12Dec 6-10Arrays Ch 608 - Object & Reference
HW2 due
13Dec 13-17Partially-filled arrays Ch 609 - Collections using ArrayLists
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, B-Z02,Z04,Z05,Z08,102,107,204,206
Final 30 Jan 8, 15:00, B-Z01,Z02,Z04,Z05,Z08,204,206
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 homework assignments.
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.
Quizzes There will be in-class, relatively short pop quizzes throughout the semester. Those who show up more than 10 minutes later than the start of the lecture will not be allowed to take these quizzes.
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