Programming in Concurrency
This four-hour course covers knowledge of programs and programming techniques used in building concurrent system, including multi-core architectures, concurrency and synchronization issues, programming tactics with Java thread, Scala actor and Python Coroutine models for shared memory and message passing systems.This is a programming-based course with intensive lab sessions. Students are expected to finish reading related background and assistant materials, complete quizzes and warm-up programming exercises before class. Students are suggested to bring a laptop for participating the in-class lab sessions.
Office Hour:2:00 - 3:30 Tuesday and 3:30 - 5:00 Thursday at Boyd 536
Office:Boyd 536
Responsibility:assistant instructor
C++ and Unix System Programming
This four-hour course covers the basics of UNIX systems programming, including file and directory structures, basic and advanced file i/o, process creation, and interprocess communication. An initial unit on "C++ for Java programmers" will familiarize students with the use of C and C++ in systems programming.
Office Hour:2:00 - 3:30 Tuesday and 3:30 - 5:00 Thursday at Boyd 536
Office:Boyd 536
Responsibility:assistant instructor
Computer Networks
This is the graduate level course on computer networking. This course involves both lectures and projects.The course is divided into two parts: 1). the Internet and its protocols. 2) ongoing research on computer networks.In the first part, the instructor will review the design and implementation of the Internet and its protocols.In the second part, we will read papers on various topics of computer networking, such as traffic classification,peer-to-peer system, network security, wireless network, and network multimedia.Students are expected to read papers before the class, participate discussions, and select a topic and present during the class.
Office Hour: By Email Appointments at zhen@cs.uga.edu
Office: Boyd 536
Responsibility: Setting up homework grading rubric, Grading homeworks, Assisting in-class activities
System Programming
To develop an understanding of the various components of the UNIX operating system from a system programmer's perspective. To develop the ability to use a variety of components of the system library. We will cover the basics of UNIX systems programming, including file and directory structures, basic and advanced file i/o, process creation, and interprocess communication. An initial unit will familiarize students with the use of C and C++ in systems programming
Office Hour: 4:00 - 5:00 Monday at Computer Room 307
Office: Boyd 536
Responsibility: Setting up project grading rubric, Grading projects, Implementing Demo Solutions, Answering Questions
System Programming
To develop an understanding of the various components of the UNIX operating system from a system programmer's perspective. To develop the ability to use a variety of components of the system library. We will cover the basics of UNIX systems programming, including file and directory structures, basic and advanced file i/o, process creation, and interprocess communication. An initial unit will familiarize students with the use of C and C++ in systems programming
Office Hour: 4:30-5:30 Thursday
Office: Boyd 536
Responsibility: Setting up project grading rubric, Grading projects, Implementing Demo Solutions, Answering Questions
Simulation and Modeling
In this course, we will study complex dynamic systems, examining their performance, reliability, etc. The reason for doing this is to improve such systems either in the design phase (before a costly system is built) or the operation phase (tune or upgrade). A simulation model may be used for such studies. It is an approximation of the complex system that captures its essential properties and often mimics the behavior of the actual system. Behavior is studied by carrying out multiple runs of the simulation model to produce statistical outputs of properties such as system response time or throughput. Further insight into system behavior can be gained by animating the model. The course will involve a major project to create a simulation model of a system chosen by the project group (2 students). The model will be created using Java 6 or Scala 2.7 and parts of JSIM, a simulation system coded in Java.
Office Hour: 4:00-5:00 Friday
Office: Boyd 536
Responsibility: Setting up project grading rubric, Arranging project demos, Grading projects, Answering questions
Human Computer Interaction
This course introduces students to issues in the design, implementation, and evaluation of user interfaces for computer systems. Concepts in human factors, usability, and interface design are covered, and the effects of human capabilities and limitations on interaction with computer systems are studied. Students will apply the concepts to the design and implementation of graphical user interfaces. Units on experimental design and statistical analysis, as well as new topics in HCI are included.
Office Hour: 4:30-5:30 Thursday
Office: Boyd 536
Responsibility: Setting up project grading rubric, Grading projects, Implementing Demo Solutions, Answering Questions
Home           Course           Research           Profile