CS 101 Algorithms and Programming I

Spring 2020

Sections 1, 2

Instructor:

Aynur Dayanık (Section 1 & Section 2)
Engineering Building, EA-426, x3441
adayanik at cs.bilkent.edu.tr

Lectures:

Tue 10:40-12:30 and Fri 8:40-10:30 at B-206 (Section 1)

Wed 8:40-10:30 and Fri 10:40-12:30 at B-206 (Section 2)


Office Hours:

Tue 13:40-15:30 or by appointment

TAs:

TBA

Course 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.

Moodle page of the course:

Check regularly the Moodle page of the course CS 101 (All Sections) for course information, syllabus, lab assignments, announcements, and discussion forum. Lecture notes and programs will be posted here.

Textbook:


Attendance:


Course Outline:

Course Overview

[ Slides ]

  • Objectives & Expectations

Introduction

[ Slides ]

  • Introduction (Chapter 1)

  • Computers and Programming

  • Java Programming Language

  • Algorithm Design

  • Lecture 1 code examples

Fundamental Data Types

[ Slides ]

Decisions

[ Slides ]

  • Decisions (Chapter 3)

  • If Statement

  • Relational Operators

  • Boolean Variables and Operators

  • Comparing Numbers and Strings

  • Lecture 3 code examples

Loops

[ Slides ]

Methods

[ Slides ]

  • Methods (Chapter 5)

  • Methods as Black Boxes

  • Implementing Methods

  • Parameter Passing

  • Return Values

  • Top-Down Design (Stepwise Refinement)

  • Lecture 5 code examples

Objects and Classes

[ Slides: Part1 , Part2 ]

  • Objects and Classes (Chapter 8)

  • Object-Oriented Programming

  • Implementing Classes

  • Constructors

  • Object References

  • Static Variables and Methods

  • Lecture 6 code examples

ArrayLists & Arrays

[ Slides: Part 1, Part 2 ]



Course requirements: