Computer Science 600.111 Spring 2003: Practical C

Department of Computer Science
The Johns Hopkins University


News
Class Information
Lectures
References
Homeworks


News
  • Homework 3 is out.
  • Homework 2 is out.
  • Homework1 submission deadline is extended. Homework1 is now due in class on Friday, Feb 21st, 2003.
  • Homework1  is out!!. Submission date is Feb 18th, 2003. Submission instructions will be posted soon.
  • Register on the course mailing list at: http://hssl.cs.jhu.edu/mailman/listinfo/cs111
Class Information
           Instructor
           Office Hours
                NEB 215, Tu,F 1.00 - 2.00 p.m
           Teaching Assistant
            Office Hours
         NEB224, M,W 12.00-1.00p.m
         Class Schedule
  • T 11-12.00,
  • F 05- 6.30 
      Shaffer 301

This course provides practical C notions for students who have taken an introductory programming class in C++ or Java. The class is intended for students interested in taking systems courses such as Operating Systems or Distributed Systems, but not exclusively so. The course also addresses issues such as writing portable code and debugging programs on UNIX systems. Course homework involves significant programming. Prereq: 600.107 or 600.109 or AP CS (AB course).

Academic Integrity

Academic Honesty and Ethical behavior are required in this course, as it is in all courses at Johns Hopkins University. This course will strictly enforce the Computer Science Department Academic Integrity policy which can be found by following the link above.

The essence of the policy is that you must work on your own on all assignments, unless told otherwise in writing. This includes discussing how to work on it and sharing code or solutions. You are also prohibited from altering or falsifying the output of programs. We run all code submissions ourselves and grade based on how they work when we run them. If it appears that you have falsified the reported results it will be treated as severely as if you had cheated or plagerized someone elses work.

You are encouraged to talk with the professor about any questions you have about what is permitted on any particular assignment.
For more details, please read the CS Academic Integrity Code .

Lectures 
Lecture slides will be posted on this site.
  1. Makefiles
  2. Shared and Static Libraries, The C Preprocessor (include files, macros, compilation flags)
  3. Version Control, An Introduction to the C language
  4. Precedence, Associativity, Types, Scope and Class, functions, Input and Output
  5. Arrays,Structures, Unions
  6. Array of Structures, Introduction to Pointers
  7. Pointers and Structures, String Library, Pointer to Pointers, Command Line Arguments, Varyling Length ArgumentLists, File Operations
  8. Network Programming
References

Homeworks
The class includes three programming assignments.