- CMPT 201: Practical Programming Methodology (lecture)
- This course provides an introduction to the principles, methods, tools and practices of the professional programmer. The lectures focus on best practices in software development and the fundamental principles of software engineering. The laboratories offer an intensive apprenticeship to the aspiring software developer. Students use C, C++, and software development tools of the Unix environment.
- CMPT 360: Operating Systems and Net Centric Computing I (lecture and lab)
- This course introduces the fundamentals of operating systems together with the basics of net centric computing. Operating systems topics include scheduling, memory management, and concurrency. Networking topics include network architectures, protocols, web organization, and an introduction to security issues. The laboratory component emphasizes current implementations of these concepts.
- CMPT 220: UNIX, Scripting, and Other Tools (lab)
- The student is introduced to a Unix-like operating system along with some of its important design features, such as processes, pipes, and the I/O model. Some of the basic tools and methodologies are discussed; these include shell scripts, editors, and standard utilities. Various open source tools are surveyed. By the end of the course, the student is comfortable and productive in a Unix environment.
- CMPT 364: Net Centric Computing II (lecture and lab)
- This course continues the study of net centric computing introduced in CMPT 360. Topics include security, network management, data compression and decompression, and multimedia data technologies. The laboratory is oriented toward design and implementation of the concepts covered in the lecture.