Topics for CS 1713 section 1

If you are reading this from lynx or a browser with poor support for tables, click here for a preformatted table.

Please note that there will be no class on Monday, June 30 due to finals for the first Summer session, or July 4 due to the holiday.

CS 1713/1711 Weekly Topics List
WeekCS 1713 Topics and Due DatesSuggested CS 1711 Topics
May 28/30 Introduction to the class. Explanation of syllabus. Use of the World Wide Web, Usenet News, and E-mail. Levels of abstraction in the computer. Components of the computer. Input/Output. Number systems, representation. Bits, bytes, addresses. ASCII. Machine language. Compilers. Sample C programs. Introduction to the lab. Some sample C programs. Description of the edit/compile/debug cycle.
June 2/4/6 Assignment 1: Type-in Program and progress report, due Friday, June 6 at midnight.

Some C language data types. Statements and Expressions. Scalar variables. Precision. Output to screen/standard output, user input from keyboard/standard input. Some simple problems solved in C.
Subdirectories for projects. Use of make.
June 9/11/13 Assignment 2: Simple Computations with User Input , and progress report due Friday, June 13 at midnight (superstitious? turn it in Thursday).

Operators and their precedence. Logical operators. Conditional statements: if/else and case. Operator side-effects. Results of operations. Data conversion - casting.
Linking. Using the -l option, particularly for linking in the math library.
June 16/18/20 printf is your friend. Reference parameters to standard functions (like scanf). while and for loops. Reading and writing files. Errors - run time, compile time, syntactic, semantic. Good documentation and style. More problems solved in C.
June 23/25/27 Assignment 3: if/else/switch, and progress report due Friday, June 27 at midnight.

Mathematical concept of function. Writing C functions. Conceptual difference between a function and a subroutine (i.e., void function). Value and reference parameters. Command line parameters with argc and argv
Using dbx. Examples of C programs with loops and reading/writing files.
July 2 Midterm Exam on Wednesday, July 2.

Begin arrays. Arrays of numbers. Sieving. Strings, standard C functions in string.h. Write our own string manipulation functions.
Examples of C functions. Separate compilation using make.
July 7/9/11 Assignment 4: Loops and Files, and progress report due Friday, July 11 at midnight.
July 9 is the last day to drop this course and receive an automatic 'W'.

Sorting and searching. Handwaving analysis of algorithms. Begin pointers. Begin two-dimensional arrays, arrays of pointers. Using malloc to allocate storage for arrays.
Sample programs with arrays.
July 14/16/18 Begin structures. typedef and header files. Abstract data types. Software engineering. Examples of C programs with pointers. Fun with malloc.
July 21/23/25 Assignment 5: Strings, and progress report due Monday, July 21 at midnight.

More abstract data types. Using structures to read/write files of records. Reading and writing structures with fread/fwrite. Stacks. Dependencies on header files in make.
Examples of abstract data types.
July 28/30, August 1 Assignment 6: Final Program, and progress report due Friday, August 1 at midnight.

Miscellaneous topics. Other programming languages. Foundations of computer science. Complexity. Incompleteness.
Review for final.