Bryn Mawr College
CS 246: Programming Paradigms (C and Unix Programming)
Fall 2014

General Information Group Projects
Syllabus and Schedule Text and Software
Course Policies
Reference Links


General Information

Instructor: Jia Tao
E-Mail: jtao@cs.brynmawr.edu
When you e-mail me, make sure you put "CS246" at the start of the subject line to ensure a quicker response.
Website: http://cs.brynmawr.edu/Courses/cs246/fall2014/
Lecture:
Tuesdays & Thursdays, 2:25PM - 3:45PM
Room: Park 336
Lab: Tuesdays 3:45-4:45PM Park Room 231 (Computer Science Lab)
TA:
Jingling Li: Tuesdays 3:45-4:45PM, Fridays 3-5PM Park 231

Group Projects : Games to Play!

Download the games below and you can start to play!

Syllabus and Schedule

   Programming Projects & Homework
Week Date Topic Assignments Comments
1
9/2
Introduction to C
Read: Chapter 1-3

Examples: helloworld.c    formatting.c   

Code Formatting Standards
Grading Policy
Assignment Submission Instruction
Software:
Gnu C Compiler
9/4
2
9/9 Expressions
Read: Chapter 4

Control Flow Statements
Read: Chapters 5-6
Project 1 out Lab: compile and run a C program
9/11

3
9/16
Basic Types
Read: Chapter 7

Arrays
Read: Chapters 8
Project 1 due
Project 2 out
Lab: Linux Basics
9/18
4
9/23
Functions

Read: Chapter 9
Project 2 due
Project 3 out
Lab: GDB
9/25
5
9/30
Preprocessor
Read: Chapters 10.1, 10.3, 10.4, 14

Pointers
Read: Chapter 11
Project 3 due
Project 4 out
Lab: understanding recursion
10/2


6
10/7
Pointer Array
Read: Chapter 12

10/9
Exam1 10/12 Project 4 due


7
10/14
Fall Break!
10/16
8
10/21
String
Read: Chapter 13
Project 5 out Lab: understanding pointers
10/23
Writing Large Programs, IO Files
Read: Chapters 14,15,22
9
10/28
Files, Memory Management
Read: Chapters 22, 17.1-4
Project 5 due
Project 6 out
Lab: review Exam 1 and Project 4
10/30
Group project design document due
10
11/4
Structures, 2DArray_Pointers, Regular Expressions
Read: Chapters 15, 16
Project 6 due
Project 7 out
Lab: Regex
11/6


11
11/11
Linked List, Function Pointers
Read: Chapter 17
Project 7 due
Project 8 out

11/13


12
11/18
Low Level, Declaration
Read: Chapters 18, 20
Lab Quiz: Unix Utilities and Regex
11/20
Project 8 due on 11/23

13
11/25
Trees, Binary Search Trees
11/27
Thanksgiving!

14
12/2
Program Design, Graphs, C++
Read: Chapter 19

12/4


15
12/9
Exam2
12/11
Term project presentation.

Important Dates

September 2: First lecture
December 11: Last lecture



Text & Software

Required:

  • C Programming: A Modern Approach, 2nd Edition, by K. N. King, W. W. Norton & Company, 2008.

Reference:

  • Programming with GNU Software , by Andy Oram and Mike Loukides, O'Reilly, 1996.
  • The C Programming Language , Second Edition, by Brian Kernighan & Dennis Ritchie, Prentice Hall, 1988.
  • The Unix Programming Environment, by Brian Kernighan & Rob Pike, Addisson-Wesley, 1984.




Course Policies

Grading

Assignments must be submitted according to the Assignment Submission instructions.  You should pay careful attention to the Code Formatting Standards when doing your assignments.  The grading structure for individual assignments is broken down in the Grading Policy.

At the end of the semester, final grades will be calculated as a weighted average of all grades according to the following weights:

Exam: 40% (20% each)
Assignments and Quizzes: 40%
Term Project: 12%
Course Preparation and Discussion: 8%
Total: 100%

Incomplete grades will be given only for verifiable medical illness or other such dire circumstances.

Submission and Late Policy

All work must be turned in either in hard-copy or electronic submission, depending on the instructions given in the assignment.  E-mail submissions, when permitted, should request a "delivery receipt" to document time and date of submission.  Extensions will be given only in the case of verifiable medical excuses or other such dire circumstances, if requested in advance and supported by your Academic Dean.

Late submissions will receive a penalty of 10% for every 0-24 hours it is past the due date and time (e.g., assignments turned in 25 hrs late will receive a penalty of 20%). Submissions received more than one week late will not be accepted.

Exam

There will be two exams in this course.  The exams will be closed-book and closed-notes.  The exams will cover material from lectures, homeworks, and assigned readings (including topics not discussed in class).

Study Groups

We encourage you to discuss the material and work together to understand it. Here are our thoughts on collaborating with other students:

If you have any questions as to what types of collaborations are allowed, please feel free to ask.


Links

Unix for Beginners

Basic Unix Tutorial

Unix FAQ

Emacs howto

LaTeX primer

Beginning LaTeX


Created on Aug 8, 2014.