CSCI N305 :: C Programming

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


Section 25290, Distributed Education (DE)

| syllabus | calendar | streaming media | additional resources |

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


Class Calendar for Spring 2011




(due on date assigned)


(listed on date to be started)


(listed on date to be started)

Monday, 01/10/2011


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


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: 04.28.2011, Thursday


Introduction to Computers

Watch: Languages (1b)

History of Computing Hardwares
History of Programming Languages

Monday, 01.17.2011

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:01.25.2011, Tuesday

  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: 02.1.2011, Tuesday

Monday, 01.24.2011 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


Homework 2: Chapter 4 Program Control

DUE: 02.08.2011, Tuesday

Monday, 01.31.2011

Structured Program Development and Program Control

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

Watch: Add'l C Statements (5d)

Monday, 02.07.2011

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: 02.22.2011, Tuesday

Homework 3: Chapter 5 Functions


Monday, 02.14.2011 Functions

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

Watch: Recursion (6d)


Information Representation: Number Systems: Positive

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


Homework 4: Appendix C Number Systems

DUE: 02.22.2011, Tuesday

Monday, 02.21.2011

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: 03.08.2011, Tuesday


Information Representation

Watch: Floating Point (8b)    
Monday, 02.28.2011

Information Representation

Watch: Characters and Images (9)  


Monday, 03.07.2011

EXAM 2 (via oncourse)




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

Project 5: xComputer

Blackbelt Project 5

DUE:03.29.2011, Tuesday

Resource: xComputer Applet
xComputer OpCodes




Watch: Declarations (11a)

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



Monday, 03.28.2011 Arrays

Watch: Multidimensional Arrays (11c)

Watch: Case Study (11d)

Project 6: Trip Driving Distance

Blackbelt Project 6

DUE: 04.12.2011, Tuesday

Monday, 04.04.2011 


Watch: Introduction (13a)

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



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

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

Blackbelt Project 7

DUE: 04.26.2010 Tuesday

Homework 5: Chapter 6 Arrays and Chapter 8 Strings;

DUE: 04.19.2010 Tuesday

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

Read: Deitel Ch 10 (PPT)
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  



Monday, 04.25.2011

EXAM 4 (via oncourse)



Thursday, 04.28.2011



 Due: Computer Science in the Real World


Lecture Instructor: Lingma Acheson (



01/07/2011 08:18 PM


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