Home | Syllabus | Schedule | Class Notes | Resource links | Assignments

University of Alaska Fairbanks
Computer Science Program

CS 205: Intermediate Programming

Class Schedule

Each week has assigned readings from the textbooks, which should be completed before class and reviewed as needed afterwards. Assignments are due at the start of the class for which they are assigned. Lab exercises are not graded, but should be sent by email to Prof. Newby.

Monday September 13: Fundamentals of Perl (online class notes)

  • Class introduction and overview
  • What is Perl?
  • Why use Perl?
  • Getting Perl running
  • man pages and other sources of documentation
  • Your first Perl programs
  • Syntax, operators and flow of control
  • Application: Hello, world
  • Lab exercise: Write and run your first Perl program
  • To do: get the class texts; prepare for your use of Perl

Monday September 20: No class meeting

  • Class will not meet this week. Continue your exploration of Perl, and get more familiar with running simple programs.

Monday September 27: Perl overview and fundamentals continued (online class notes)

  • Operators and precedence
  • Data types
  • Concatenation of strings
  • Error checking and security, die
  • Application: simple calculator
  • Lab exercise: write your own simple calculator, adding at least one new type of operator or function
  • Read: Programming Perl Ch 1 “An Overview of Perl,” Ch 2 “Bits and Pieces,” Ch 3 “Unary and Binary Operators,” Ch 4 “Statements and Declarations;” Ch 23 “Security,” Cookbook Ch 1 “Strings,” Ch 2 “Numbers.”

Monday October 4: I/O and regular expressions (online class notes)

  • Input and output, open, printf/scanf
  • Patterns and regular expressions
  • Working with formatted data
  • Debugging techniques
  • Application: Searching through files
  • Lab exercise: open and display files
  • Read: Programming Perl Ch 5 “Pattern Matching,” Ch 20 “The Perl Debugger,” Ch 26 “Plain Old Documentation;” Cookbook Ch 6 “Pattern Matching,” Ch 7 “File Access,” Ch 8 “File Contents.”
  • Due: Data analyzer

Monday October 11: Formats and subroutines (online class notes)

  • Subroutines
  • Employing use and require
  • Output formating
  • split
  • Application: directory browser
  • Lab exercise: Loops and subroutines
  • Read: Programming Perl Ch 6 “Subroutines,” Ch 7 “Formats;” Cookbook Ch 3 “Dates and Times,” Ch 4 “Arrays,” Ch 5 “Hashes.”

Monday October 18: Hashes and references (online class notes)

  • Types of arrays in Perl
  • Associative arrays (hashes)
  • Searching and sorting, sort
  • Application: a dictionary
  • Lab exercise: array input and output
  • Read: Programming Perl Ch 8 “References.”
  • Due: File searching

Monday October 25: Data structures and objects; Midterm

  • Basic data structures and objects
  • More complex structures, class functions
  • Application: log file inquiry & for intrusion detection
  • Midterm exam 7:45 - 9:00 pm
  • Read: Programming Perl Ch 9 “Data Structures,” Ch 12 “Objects,” Ch 13 “Overloading,” Ch 14 “Tied Variables.”

Monday November 1: Packages and modules; basic CGI (online class notes)

  • How to use packages, more use and require
  • How to write packages
  • Where to find packages, perl -MCPAN
  • Application: crypto
  • Lab exercise: extending Perl
  • Read: Programming Perl Ch 10 “Packages,” Ch 11 “Modules,” Ch 22 “CPAN;” Cookbook Ch 12 “Packages, Libraries and Modules.”

Monday November 8: Note: Class will not meet this week;

  • Read: Cookbook Ch 14 “Database Access.”

Monday November 15: Note: Class will not meet this week

  • Read: Cookbook Ch 18 “Internet Services,” Ch 19 “CGI Programming,”
  • Due (by Wednesday November 17 at 6:00 pm): Log file analyzer

Monday November 22: Server-side programming with CGI (online class notes)

  • CGI fundamentals; httpd overview
  • CGI authoring and debugging, use CGI
  • Interaction with the host system
  • Application: Web form
  • Lab exercise: basic CGI
  • Read: Ch 16 “Process Management and Communication,” Ch 17 “Sockets.”

Monday November 29: Web-database integration (online class notes)

  • Database overview: tables, rows, fields & data types
  • Tying to a database
  • Perl methods for database access; ODBC
  • Database input and output
  • Working with database results
  • Application: Database input and output
  • Lab exercise: creation and use of a database
  • Read: Programming Perl Ch 17 “Threads.”
  • Read: Programming Perl Ch 15 “Unicode,” Ch 16 “Interprocess Communication;” Cookbook Ch 20 “Web Automation,”
  • Due: Making a module

Monday December 6: The future of Perl (online class notes)

  • mod_perl
  • Why is Perl so popular?
  • How Perl will continue to grow
  • Perl 6
  • The future of online applications
  • Review for final exam
  • Application: Upgrading Perl
  • Application: ecommerce
  • Lab exercise: stateful CGI
  • Read: Programming Perl Ch 24 “Common Practices,” Ch 27 “Perl Culture;” Cookbook Ch 21 “mod_perl.”
  • Ch 22 “XML.”
  • Due: Perl database

Monday December 13: Final exam

  • Final exam: Scheduled for 8-10 p.m., but we will have it 6-8 pm based on class consensus. The exam is linked here (http://snowy.arsc.alaska.edu/gbn/exams/205-fall2004-final.html)

Most recently updated: