cs3157 syllabus

disclaimer: subject to change without notice

mon lecture wed lab

jan 17-19 no lab -- first class is monday jan 24

jan 24-26 lec0: course intro and intro to perl
(handout)
  • course intro
  • data types
  • hashes
  • local and global variables; global special variables
  • statements
  • operators
  • examples from class today:
  • lecture notes
lab0: perl lab #1

jan 31-feb 2 lec1: more perl
(handout)
  • overview, continued
  • some built-in functions
  • file handling
  • lecture notes
lab1: perl lab #2

feb 7-9 lec2: intro to C
(k&r ch 1-3, 7.3)
  • compiling and the C pre-processor
  • basic I/O (stdio library)
  • basic data types and operators
  • looping
  • branching
  • lecture notes
lab2: C output and input (numbers) and command-line compiling

feb 14-16 lec3: CGI, in perl and in C; more C and leftover perl
(k&r ch 4.1-4.3,7.1-7.5)
  • continuing with C
    • control flow
    • strings
    • string library
    • string tokenizing
  • CGI
  • leftover perl
    • more built-in functions
    • subroutines
    • regular expressions
    • pattern matching
  • lecture notes
  • cgi examples
lab3: CGI

feb 21-23 lec4: more C
(k&r ch 5.1-5.6, plus absolute beginners ch 21, 24 handout)
  • C pre-processor
  • command-line arguments
  • more on data types and operators:
    • "booleans" in C
    • logical and bitwise operators
    • type conversion
  • more libraries:
    • math library
    • random numbers (stdlib)
    • character handling (ctype)
  • intro to arrays and pointers
  • lecture notes
labX: exam #1

feb 28-mar 2 lec5: still more C
(k&r ch 5.7-5.11 plus absolute beginners ch 26 handout)
lab4: C pointers, arrays and strings and sh compile script

mar 7-9 lec6: finishing up C
(k&r ch 6,7.6-7.9)
lab5: C structures

mar 14-16 spring break

mar 21-23 lec7: unix utilities lab6: unix utilities

mar 28-30 lec8:
labX: exam #2

apr 4-6 lec9: intro to C++
(c++core ch 1-2; c++nutshell ch 1-4)
  • software engineering basics
  • object-oriented programming with classes
  • c++ without classes
  • writing to the screen
  • lecture notes
  • code examples:
lab7: C++ first program and makefile

apr 11-13 lec10: more C++
(c++core ch 3-6; c++nutshell 5-6,9)
lab8: C++ object-oriented program

apr 18-20 lec11: even more C++
(c++core ch 7-9,11-13; c++nutshell 6-7)
  • composition and derivation
  • dynamic memory allocation (new/delete vs malloc/free)
  • container classes
  • iterator classes
  • templates
  • lecture notes
  • code examples:
lab9: C++ create a class

apr 25-27 lec12: PHP
no lab

may 2-4 mon: exam #3
wed: demo day