CSCI N305 :: C Programming

Department of Computer and Information Science
Indiana University - Purdue University - Indianapolis


Section 20030, Distributed Education (DE)

Section 29545, Distributed Education, Columbus (DE)

Section C12074 Combined Roster

| syllabus | calendar | streaming media | grades | resources | contact instructors |

This calendar is subject to revision during the course of the semester.


Class Calendar for Fall 2009




(due on date assigned)


(listed on date to be started)


(listed on date to be started)

Wednesday, 08.26.2009


Important: Clickto play lectures

Watch: General Information
Watch: Orientation

Read: Setting up PuTTY and WinSCP

Read: Unix Primer

Read: Unix Basics
Emacs Tutorial
Read: Emacs Cheat Sheet
Emacs Ref Card
Read: Email FAQ

Monday, 08.31.2009

Introduction to Computers

Watch: Hardware (1a)

Read: Deitel Ch 1 (PPT)

Try: How to compile your first program under Microsoft Visual Studio, or

Try: How to compile your first program under Linux



Computer Science in the Real World


DUE: 12.11.2009


Introduction to Computers

Watch: Languages (1b)

Watch: The Machine That Changed the World
Virginia Tech TMTCTW
IEEE History of Computing

Monday, 09.07.2009

Introduction to C Programming

Watch: A First C Program (2a)
Watch: Mixing Data Types (2b)
Read: Deitel Ch 2 (PPT)

Homework 1: Chapters 1 and 2

DUE: 09.14.2009

  C Formatted Input/Output Watch: Basic I/O Printf (3a)
Watch: Basic I/O Scanf (3b)

Read: Deitel Ch 9 (PPT)

Project 1: Change Maker

Blackbelt Project 1

DUE: 09.21.2009

Monday, 09.14.2009 Variable Declarations, Data Types, Expressions Watch: Variables & Operators (4a)
Watch: Assignments (4b)



Structured Program Development and Program Control

Watch: Problem Solving using STAIR (5a)
Watch: Algorithms (5b)
Read: Deitel Ch 3 (
Read: Deitel Ch 4 (PPT)

Project 2: Find-A-Bank

Blackbelt Project 2

DUE: 09.28.2009

Homework 2: Chapter 4 Program Control

DUE: 09.21.2009

Monday, 09.21.2009

Structured Program Development and Program Control

Watch: Standard C Statements (5c)    
  Structured Program Development and Program Control

Watch: Add'l C Statements (5d)

Monday, 09.28.2009

EXAM 1 (via oncourse)






Watch: Declarations (6a)
Watch: Examples (6b)
Read: Numerical Representations
Read: Deitel Ch 5 (PPT)

Project 3: Math Calculator

Blackbelt Project 3

DUE: 10.12.2009

Homework 3: Chapter 5 Functions

DUE: 10.05.2009

Monday, 10.05.2009 Functions

Watch: Scope, Parameter Passing, Storage Specifiers (6c)

Watch: Recursion (6d)


Information Representation: Number Systems: Positive

Watch: Integers (7)
Read: Deitel Appendix D.


Homework 4: Appendix D Number Systems

DUE: 10.12.2009

Monday, 10.12.2009

Information Representation: Number Systems

Watch: Negative Integers (8a)

Project 4: Function Lab

Blackbelt Project 4 

Resource: Sample character shapes (You are still free to make your own shapes.)

DUE: 10.26.2009


Information Representation

Watch: Floating Point (8b)    
Monday, 10.19.2009

Information Representation

Watch: Characters and Images (9)  



EXAM 2 (via oncourse)




Monday, 10.26.2009 Information Representation Watch: Machine Instructions (10a)
Watch: xComputer Demonstration (10b)

Project 5: xComputer

Blackbelt Project 5

DUE: 11.09.2009

Resource: xComputer Applet
xComputer OpCodes




Watch: Declarations (11a)

Watch: Strings and Parameter Passing (11b)
Read: Deitel Ch 6 (PPT)



Monday, 11.02.2009 Arrays

Watch: Multidimensional Arrays (11c)

Watch: Case Study (11d)

Project 6: Trip Driving Distance

Blackbelt Project 6

DUE: 11.16.2009



Watch: Introduction (13a)

Watch: Call-by-Reference (13b)
Read: Deitel Ch 7(PPT)

Monday, 11.09.2009


Watch: Pointer Arithmetic (13c)    
  EXAM 3 (via oncourse)      
Monday, 11.16.2009 Characters and Strings Watch: Literals and Variables (14a)
Watch: Functions (14b)

Read: Deitel Ch 8 (PPT)
Project 7: Name Game

Blackbelt Project 7

DUE: 11.30.2009

Homework 5: Chapter 6 Arrays and Chapter 8 Strings

DUE: 11.23.2009

  Structures Declarations (15a)
Functions and Arrays (15b)

Read: Deitel Ch 10 (PPT)
Monday, 11.23.2009 Thanksgiving Week    


Monday, 11.30.2009 File Processing Read: Deitel Ch 11 (PPT)  




Discussion Topics:

Course Evaluation

Watch: Ethics in Computer Science (12)

Ethics Prereading: (with emphasis on sections 2 and 3)

1.  Ethics Quiz
2.  Hacking
3.  Computer Ethics
4.  Privacy
5.  Snooper Bowl
6.  Whistle blowing
7.  Piracy  

Optional materials:  Not included in lecture:


Employment Outlook

Review from Data Structures
Sample Make File
Data Structures

Monday, 12.07.2009

EXAM 4 (via oncourse)



Friday, 12.11.2009       Computer Science in the Real World Paper Due and uploaded into Drop Box by 11:55 PM.  Exam 4 taken by 11:55 PM.


Lecture Instructor: Dale Roberts (, (317) 431-4997 (mobile), (317) 278-9045 (office)

Teaching Assistant: Thomas Counsell (


08/25/2009 09:03 PM


Department of Computer and Information Science
Indiana University-Purdue University-Indianapolis