Home
  Contact
  Vita
  Research
  Teaching
  Theses
  Department Calendar

Teaching

Course: CSCI 6950 - Research Methods and System Basics
Semester: last time offered: Fall 2009
Remarks: This "lunch and learn" seminar is designed to help new graduate students acclimate to the systems environment at CS@UGA and to introduce them to tools and techniques needed for research and assistantship duties. Topics include: basic UNIX commands and setting up your CS account, LaTex and BibTex, Version Control with svn, Basic Systems Administration for Windows, Basic Systems Administration for UNIX, Anatomy of a Research Paper, and more.
   
Course: CSCI 1301 - Intro to Computing and Programming
Semester: last time offered: Summer 2008 (Joint with Brian A. Smith)
Remarks: Algorithms, programs, and computing systems. Fundamental techniques of program development and supportive software tools. Programming projects and applications in a structured computer language. Hands-on experience using microcomputers. We will be introducing some fundamental ideas in Computer Science and programming, focusing on the Java programming language. This will include the fundamentals of the object-oriented paradigm (classes, objects, encapsulation, inheritance and polymorphism), basic data structures such as arrays and lists, and basic algorithm design.
   
Course: CSCI 1730 Systems Programming
Semester: last time offered: Summer 2007
Remarks: This 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.
   
Course: CSCI 2720 Data Structures
Semester: last time offered: Spring 2007
Remarks: This course deals with the design, analysis, implementation, and evaluation of the fundamental structures for representing and manipulating data: lists, arrays, trees, tables, heaps, and graphs. Memory management of these data structures is also addressed.
   
Course: CSCI 4800/6800 Human-Computer Interaction
Semester: last time offered: Spring 2007
Remarks: 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 is studied. Students apply these 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.
   
Course: CSCI 8710 Computer Systems Performance Evaluation
Semester: last time offered: Fall 2008
Remarks: This four-hour course address computer systems performance analysis. It introduces the main concepts and techniques needed to plan the capacity of computer systems, predict their future performance under different configurations, and design new applications that meet performance requirements. The course is mainly based on the use of analytic queuing network models of computer systems. These techniques are applied to study the performance of centralized, distributed, parallel, client/server systems, Web server and e-commerce site performance. The course also discusses performance measuring tools for operating systems such as Unix and Windows NT. The course provides the students with hands-on experience in performance evaluation through a project. The concept and applications of software performance engineering are also covered.