Courses for Masters at University of Pretoria


  • ERS280: Software Management and economics


  • ERN270: Computer Networks
  • ENA732: Research Methodology


  • ERV780: Advanced Microprocessor system design

Courses for PhD at UCSB

Fall 2008:

  • CS276: Advanced Topics in Networking (Ben Zhao): Focuses on advanced topics in networking. Topics may include, but are not limited to: Internet analysis, routing techniques, multimedia, approaches for network performance enhancements, and communication over new technologies.
  • CS279: Advanced Topics in Security (Giovanni Vigna): Security analysis of networked systems. Analysis of techniques for network scanning, spoofing, hijacking, and denial-of-service attacks. Vulnerability analysis of applications and web-based systems. Intrusion detection and prevention techniques
  • CS595n: Seminar on social computing (Kevin Almeroth): Information and methods, information credibility and trust, collective action
  • CS501: Techniques of Computer Science Teaching: Course emphasizes teaching skills, practical experience, and communication skills

Spring 2009:

  • CS270F: Cognitive wirelss networking, strategy, economics and social behavioours (Heather Zheng): Cognitive networking, economics in wireless networks, strategy and game theory, online spectrum auctions, bio-inspired networks, Vanets
  • CS230: Approximations, NP-Completeness and Algorithms (Teo Gonzalez): Epsilon approximations, PTAS and FPTAS. Techniques for the design of approximation algorithms. P, NP, NP-complete problems, polynomial transformations, Turing reductions, strong NP-completeness, NP-hardness and inapproximability results. Topics in algorithms include: amortized analysis, advanced graph algorithms and data structures.

Fall 2009:

  • CS225: Information Theory (Wim van Dam): Entropy, mutual information, and Shannon's coding theorems; lossless source coding, Huffman, Shannon-Fano-Elias, and arithmetic codes; Channel capacity; rate-distortion theory, and lossy source coding; source-channel coding; algorithmic complexity and information; applications of information theory in various fields
  • CS290I: Multimodal Interaction on Mobile Computing Platforms (Matthew Turk) Multimodal interaction on mobile computing platforms. Utilizing multiple sensors and interaction modalities on smart phones to create novel capabilities and experiences. State-of-the-art mobile phones have cameras, accelerometers, GPS, magnetometers, microphones, keyboards, and touch-sensitive displays, not to mention ever-increasing computation power and memory, graphics capabilities, and various communications capabilities. How do we create applications that take advantage of this rich computing platform. All projects were done on the Nokia N900.

Winter 2010:

Spring 2011:

Fall 2011:

  • CS290C: Virtualization and Cloud Computing Technologies (Chandra Krintz): Infrastructure/Platform/Software As A Service. Public, Private and Hybrid clouds. Resource virtualization and isolation, Virtual machines (Process or System VMs), Virtual memory, Virtual Machine Monitors (VMMs), Virtualizing I/O, Hypervisors

Major Area Exam at UCSB (12 March 2010)

  • Topic: Licence-free wireless networks for developing regions: reflection and future directions