Skip navigation.

Teaching

Winter 2012: Introduction to Computer Organization (COMP 2691)

I will be teaching COMP 2691 "Introduction to Computer
Organization" in Winter Quarter. This course is required for
majors in the BS degree program.

The course description lists the topics: Assembly language
programming - simple operations, addressing modes, looping,
arrays, subprograms, logic design-multiplexers,
decoders/encoders, flip-flops, counters, shifters, sequential
network design.

The class will meet 10 - 11:50 on Monday and Wednesday.

Fall 2011: COMP 1771 - Introduction to Computer Science, Honors

This course is part of the Introduction to Computer Science track intended for students with prior exposure to programming through AP courses or other activities. It is roughly equivalent to a combination of COMP 1671 and COMP 1672 and can be substituted for COMP 1672 in prerequisites. This course covers basic programming in Java, object oriented (OO) programming, exceptions, streams and file I/O, recursion, generics and basic data structures and algorithms.

The course website is available through DU's Blackboard System: http://blackboard.du.edu for students enrolled in the class.

Spring 2011: COMP 3701/4701: Topics in Computer Science: Secure Software

Many security problems in software are born when software developers
make poor implementation decisions or unwittingly introduce bugs in
their code. In this course, we will cover many of the classical flaws
in systems that can lead to security problems, including: buffer
overruns, format string problems, overflows, exception issues, race
conditions, etc. We will also cover some webapp-specific topics such
as SQL injection attacks, and cross-site scripting (XSS) attacks.

We will use the book "24 Deadly Sins of Software Security: Programming

Winter 2011: COMP 2691 Introduction to Computer Organization

I will be teaching COMP 2691 "Introduction to Computer
Organization" in Winter Quarter. This course is required for
majors in the BS degree program.

The course description lists the topics: Assembly language
programming - simple operations, addressing modes, looping,
arrays, subprograms, logic design-multiplexers,
decoders/encoders, flip-flops, counters, shifters, sequential
network design.

The class will meet 9 - 10:50 on Monday and Wednesday.

Winter 2011: Advanced Topics in Distributed Systems

Note: This course is being taught at Lockheed-Martin Corporation and is not available to on-campus students.

Ever wonder how BitTorrent, Gmail, or Chord work? Have a burning
desire to deploy your software across the globe using PlanetLab? If
so, this course if for you!

The course will cover major topics in distributed systems including:
system architectures, processes, communication, naming,
synchronization, consistency and replication, fault tolerance, and
security. We will read articles about many real systems, and
implement select parts of their functionality.

Spring 2010: Special Topics in Software Engineering: Resource Constrained Systems

Number: COMP 4705
Title: Special Topics in Software Engineering: Resource Constrained Systems
Meeting time: Thursday, 5 PM - 8:40 PM
Textbook: Real Time UML, Third Edition, by Bruce Powel Douglass ISBN-10: 0321160762, ISBN-13: 978-0321160768

Winter 2010: Special Topics in Distributed and Networked Systems

This course will cover major topics in distributed systems engineering including: system architectures, processes, communication, naming, synchronization, consistency and replication, fault tolerance, and security. We will also look at examples of distributed object-based systems, distributed file systems, distributed web-based systems and distributed coordination-based systems. Classes will be a mix of lecture, in-class exercises, and student presentations.

The course website is available through DU's Blackboard System: http://blackboard.du.edu for students enrolled in the class.

Fall 2009: Introduction to Computer Science, Honors

This course is part of the Introduction to Computer Science track intended for students with prior exposure to programming through AP courses or other activities. It is roughly equivalent to a combination of COMP 1671 and COMP 1672 and can be substituted for COMP 1672 in prerequisites. This course covers basic programming in Java, object oriented (OO) programming, exceptions, streams and file I/O, recursion, generics and basic data structures and algorithms.

The course website is available through DU's Blackboard System: http://blackboard.du.edu for students enrolled in the class.

Spring 2009: Topics in Distributed Systems Engineering

Course Description:

This course will cover major topics in distributed systems engineering including: system architectures, processes, communication, naming, synchronization, consistency and replication, fault tolerance, and security. We will also look at examples of distributed object-based systems, distributed file systems, distributed web-based systems and distributed coordination-based systems. Classes will be a mix of lecture, in-class exercises, and student presentations.

Winter 2009: Advanced Software Engineering: Software Testing

This course will provide in-depth coverage of the major topics in software testing. The emphasis will be on the hands-on software testing activity: how to go about executing a software system to uncover faults in the underlying implementation and gain confidence in the quality of the end product. We will discuss all aspects of test adequacy criteria (used to determine when a set of test cases is "good enough"), both white-box and black-box. Test oracles may also be covered. There will be some discussion of how software testing fits in to a broader software quality effort.

Syndicate content