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

Announcements
  • 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. 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.
  • 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 18-Course Introduction,
Algorithms & Computers
Ch 1No labs
HW1 assigned
2Sep 25-Java &
Fundamental Data Types
Ch 2No labs
HW1 due
3Oct 2-Input/Output, and Assignment Ch 201 - Setting up & using a Java IDE, Java basic programs & debugging
4Oct 9-Decision Ch 302 - I/O, Assignment
5Oct 16-Decision & Repetition Ch 403 - if statements
6Oct 23-Repetition Ch 4No labs
7Oct 30-Methods Ch 504 - Repetition: while loops
8Nov 6-Review -05 - Repetition: for & do-while
9Nov 13- Arrays Ch 6 No labs
MIDTERM
HW2 assigned
10Nov 20-ArrayLists Ch 6 06 - Static methods
11Nov 27- Partially-filled arrays Ch 6 07 - Collections using ArrayLists and Arrays
HW2 due
12Dec 4-OOP, writing classes Ch 8 08 - Objects & Classes
13Dec 11-OOP, writing classes &
object/ref
Ch 8 09 - Object & Reference
14Dec 18-Searching & 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 15 see Outline
Midterm 35 Nov 17, 17:45, EE-03,04,05,214,412
Final 35 Dec ??, ??:00, ?? 
Warning: Students will receive an Fz grade unless they have a minimum 40% on the midterm exam AND a minimum 65% lab average AND a minimum score of 51% 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. No late submissions are accepted!

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

  • HONOR CODE: All students must fully read and comply with THIS to avoid disciplinary action.
  • CS101 coding style and grading guidelines
  • The instructors might have to make changes to any future lecturing or assesment instruments during the semester, due to extraordinary circumstances (e.g., a pandemic).
  • No makeups will be given for labs, quizzes or homework. Please see your instructor if you have a medical report or a similar official excuse.
  • What (not) to do when studying CS? Advice from a CS professor