Teaching

I am not teaching any courses this year. However, you can download my course
notes from my previous courses.

Comp-361 : Systems Development Project – Winter 2009

Note that there are very few slides for this course, as this was a project course.

Comp-304 : Object-Oriented Design – Winter 2007

Comp-206 : Introduction to Software Systems – Fall 2006

  • Class Introduction, Operating Systems – Lecture 1
  • Client/Server, Process/Multi-Threading, File System and Permission – Lecture 2
  • Directories, Redirection – Lecture 3, Lecture 4
  • Environment, Unix Commands and Processes – Lecture 5
  • Introduction to Python, Smtp Demo, TKInter Demo [py] – Lecture 6
  • Grep/Regular Expressions, Shell Variables and Test Conditions – Lecture 7
  • Shell If/For/While and Example Shell Scripts – Lecture 8
  • Introduction to C, C versus Java – Lecture 9
  • Basic C Syntax, Errors in C and printf – Lecture 10
  • Structures, Enumerations, Pointers and Memory Allocation – Lecture 11
  • Midterm info, Review – Lecture 12
  • Data structures in C, Midterm review – Lecture 14
  • String manipulations, Multiple source files, Preprocessor and Makefile – Lecture 15
  • File I/O and Methods of storing data – Lecture 16
  • Bugs, Debugging, Tools – Lecture 17
  • Defensive Programming and Strategies – Lecture 18
  • Fractals, C/Python Integration, C/Python API – Lecture 19, Lecture 20
  • Source Control Software, Introduction to SVN – Lecture 21
  • HTTP and HTML – Lecture 22, Lecture 23
  • Dynamic Websites, Intro to PHP, Useful PHP func – Lecture 24
  • Final Class – Lecture 25

Comp-303 : Programming Techniques – Winter 2004

  • Course Syllabus, Decomposition and Abstraction – Lecture 1
  • OO programming
    • Abstract Classes, Interfaces, Overriding/Overloading – Lecture 2
    • Objects, Types and Variables, Type checking, Packages – Lecture 3
  • Short Introduction to UML, Requirements & Specification – Lecture 4
  • Procedural Abstraction, Specification for procs, Partial vs Total procs – Lecture 5
  • Data abstraction, Abstract Data Structure, IntSet and Poly – Lecture 6
  • Exceptions, Checked vs Unchecked – Lecture 7
  • Itteration Abstraction – Lecture 8
  • Type Hierachie, Dispatching, Good use of interfaces – Lecture 9
  • Polymorphic Abstraction, Sets, Comparators and Adders – Lecture 10
  • How to use Threads, Thread vs Runnable, Synchronization – Lecture 11
  • TCP/IP client/server application, Java Socket/ServerSocket, Serialization – Lecture 12
  • Testing Strategies, Debugging Strategies, Review for Midterm – Lecture 13
  • Blackbox testing, Glassbox testing, Debugging strategies – Lecture 14
  • Requirements Analysis, Software Lifecycle, Dealing with Errors – Lecture 15
  • What is design, Design Reviews, Top-down vs Bottom-Up – Lecture 16
  • Design Patterns
  • Java Community Process (JCP), Java 1.5 – Lecture 22
  • Review for Midterm – Lecture 23

Comp-573 : MicroComputers – Fall 2003

Note that there are very few slides for this course, as this was a project course.

  • Course Introduction and COMP-273 review – Lectures
  • Programming and Debugging Assembler under Linux – Lectures
  • Architecture : Intel I32 x86 – Lectures
  • Architecture : SPARC – Lectures
  • Architecture : PowerPC – Lectures
  • Architecture : Other (ARM and Intel I-64) – Lectures
  • Midterm with Solution – Lectures

Comments are closed.