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

Announcements
  • This document explains how attendance will be taken in sections 1 & 2. You must read it before lectures this week and be ready to follow the procedure.
  • HONOR CODE: All students must fully read and comply with THIS to avoid disciplinary action.
  • We plan to take attendance on a regular basis in this course.
  • 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 19-23Course Introduction,
Algorithms & Computers
Ch 1No labs
HW1 assigned
2Sep 26-30Java &
Fundamental Data Types
Ch 2No labs
HW1 due
3Oct 3-7Input/Output, and Assignment Ch 201 - Setting up & using a Java IDE, Java basic programs & debugging
4Oct 10-14Decision Ch 302 - I/O, Assignment
5Oct 17-21Decision & Repetition Ch 403 - if statements
6Oct 24-26Repetition Ch 4No labs
7Oct 31 - Nov 4Methods Ch 504 - Repetition: while loops
8Nov 7-11Review -05 - Repetition: for & do-while
9Nov 14-18OOP, writing classes Ch 8No labs
MIDTERM
HW2 assigned
10Nov 21-25OOP, writing classes &
object/ref
Ch 806 - Static methods
11Nov 28 - Dec 2ArrayLists Ch 607 - Objects & Classes
HW2 due
12Dec 5-9Arrays Ch 608 - Object & Reference
13Dec 12-16Partially-filled arrays Ch 609 - Collections using ArrayLists and Arrays
14Dec 19-23Searching & Sorting Ch 6 &
Ch 14.1
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 18, 17:40, EA-302,502,Z01,EA-Z03,EE-317,412,517
Final 30 Dec 27, 15:00, ??
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.
Attendance Attendance will be taken on a regular basis but will not directly count towards your grade.
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