CS 115 Introduction to Programming in Python

Fall 2018

Section 1, 2 & 3

Instructor:

Aynur Dayanık

Office:

Engineering Building, EA-426

Phone:

x3441

E-mail:

Lectures:

Mon 10:40-12:30 and Thu 9:40-10:30 at B-Z08 (Section 3)

Tue 8:40-10:30 and Thu 10:40-11:30 at B-Z08 (Section 2)

Tue 10:40-12:30 and Fri 9:40-10:30 at B-Z08 (Section 1)

Office Hours:

TBA or by appointment

TAs:

TBA

Moodle page of the course:

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

Textbook:


Course Outline: (Tentative; slides will be uploaded later)

Topics

Contents; Related Chapters & Readings

Lecture Examples

Introduction

[ Slides]

  • Getting Started (Chapter 1)

  • Introduction to Programming

  • Introduction to Python

Basics of Python

[ Slides]

  • Basic elements of Python (Chapter 2)

  • Strings

  • Input / Output

  • Output Formatting

  • Branching

Iteration & Simple Numerical Programs

[ Slides]

  • Some Simple Numerical Programs (Chapter 3)

  • Iteration (Chapters 2, 3)

  • Exhaustive Enumeration

  • Approximate Solutions & Bisection Search

Functions, Scoping, and Abstraction

[ Slides]

  • Functions, Scoping, and Abstraction (Chapter 4)

Recursion, Global Variables, Modules, Files

[ Slides]

  • Recursion, Global Variables, Modules, Files (Chapter 4)

Structured Types: Lists, Tuples, Dictionaries

[ Slides]

  • Structured Types, Mutability, and Higher-Order Functions (Chapter 5)

Multi-Dimensional Lists, Arrays, Multi-Dimensional Arrays

[ Slides]

Classes and Objects

[ Slides]

  • Classes and Object-Oriented Programming (Chapter 8)

Time Complexity

[ Slides]

  • Introduction to Algorithmic Complexity (Chapter 9)

Searching & Sorting

[ Slides]

  • Some Simple Algorithms and Data Structures (Chapter 10)

    See also Visual Sort

Plotting

[ Slides]

  • Plotting and Data Visualization (Chapter 11)

Random Walks

[ Slides]

  • Random Walks and More About Data Visualization (Chapter 14)

Experimental Data

Slides and Review-Exercises2

  • Understanding Experimental Data (Chapter 18)

Course requirements: