Announcements

Course Overview

Title: Principles of Imperative Computation

Description:

This course teaches imperative programming and methods for ensuring the correctness of programs. It is intended for students with a basic understanding of programming (variables, expressions, loops, arrays, functions). Students will learn the process and concepts needed to go from high-level descriptions of algorithms to correct imperative implementations, with specific applications to basic data structures and algorithms. Much of the course will be conducted in a subset of C amenable to verification, with a transition to full C near the end.

Units: 12

Co-requisites: Either 21-127 or 15-151 is a co-requisite (must be taken before or in the same semester). This course prepares students for 15-213 and 15-210.

More information about the course objectives can be found in the syllabus.

Logistics

Instructors

Prof. Saquib Razak,
srazak@cmu.edu, CMUQ 1018, 4454-8553,
Office hours: Sunday, 10:00AM - 12:00PM

Teaching Assistants

Tamim Jabban,
tamim@cmu.edu, CMUQ 1004, 4454-8496,
Office hours:
Sunday: 10:00 AM to 12:00 PM

Course Assistants

Julian Sam,
julians@qatar.cmu.edu, ARC

Maimoon Siddiqui,
maimoons@andrew.cmu.edu, ARC

Ishaq Yousef Haj Hasan,
ihajhasa@andrew.cmu.edu, ARC

Office Hours
Sunday:
11.30am to 1.30pm
4.00pm to 5.30pm

Monday:
10.30am to 12.30pm
4.00pm to 7.00pm

Tuesday:
11.30am to 12.30pm
4.00pm to 5.00pm

Wednesday:
11.30am to 12.30pm
5.30pm to 6.30pm

Thursday:
10.00am to 12.00pm
3.00pm to 6.00pm

Saturday:
1:00pm to 2:00pm
3.00pm to 4:00pm


Class hours

Lectures: Monday & Wednesday, 01:30 - 02:50 PM, Room 1190

Labs: Tuesday, Time: 1:30 - 2:20 PM, Room 2035

Recitations: Thursday, Time: 1:30 - 2:20 PM, Room 2035

Grading

The course is graded on a 1000-point scale. Absent exceptional circumstances, scores of 900 and above will be given an A, scores of 800 and above will be given a B, etc. Scores below these thresholds may receive the higher grade based on participation and/or exam performance on the sole discretion of the instructor.

Exams 50%

Homework 45%

Labs and Quizzes 5%