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