Andrei Test - Courses lists

Courses: Full Listing new

Undergraduate Courses

Fall 2022

Advanced Programming Techniques
This is a course about the practice of programming. Programming is more than just writing code. Programmers must also assess tradeoffs, choose among design alternatives, debug and test, improve performance, and maintain software written by themselves & others. At the same time, they must be concerned with compatibility, robustness, and reliability, while meeting specifications. Students will have the opportunity to develop these skills by working on their own code and in group projects.
Instructors: Robert Dondero, David Walker
Computer Architecture and Organization
An introduction to computer architecture and organization. Instruction set design; basic processor implementation techniques; performance measurement; caches and virtual memory; pipelined processor design; design trade-offs among cost, performance, and complexity.
Instructors: David August
Junior Independent Work (B.S.E. candidates only)
Provides an opportunity for a student to concentrate on a "state-of-the-art" project in computer science. Topics may be selected from suggestions by faculty members or proposed by the student. The final choice must be approved by the faculty advisor. Refer to course web page for additional details.
Instructors: Robert Fish, Kyle Jamieson
Distributed Systems
This course covers the design and implementation of distributed systems. Students will gain an understanding of the principles and techniques behind the design of modern, reliable, and high-performance distributed systems. Topics include server design, network programming, naming, concurrency and locking, consistency models and techniques, and fault tolerance. Modern techniques and systems employed at some of the largest Internet sites (e.g., Google, Facebook, Amazon) will also be covered. Through programming assignments, students will gain practical experience designing, implementing, and debugging real distributed systems.
Instructors: Wyatt Lloyd
Theory of Algorithms
Design and analysis of efficient data structures and algorithms. General techniques for building and analyzing algorithms. Introduction to NP-completeness.
Instructors: Robert Tarjan
Computer Graphics
This course will study topics in computer graphics, covering methods in image processing, 3D modeling, rendering, and animation. The course is mainly project based and encourages hands-on programming experience.
Instructors: Szymon Rusinkiewicz
Information Security
Course goals: learn how to design a secure system, probe systems for weaknesses, write code with fewer security bugs, use crypto libraries correctly, protect (or breach!) privacy, and use your powers ethically. Main topics: basic cryptography, system security, network security, firewalls, malware, web security, privacy technologies, cryptocurrencies, human factors, physical security, economics, and ethics of security.
Instructors: Prateek Mittal
Innovating Across Technology, Business, and Marketplaces
Course teaches engineering students about issues tackled by leading Chief Technology Officers: the technical visionaries and/or managers who innovate at the boundaries of technology and business by understanding both deeply, and who are true partners to the CEO, not just implementers of business goals. Focus will be on thinking like a CTO (of a startup and a large company) from technology and business perspectives, and on software and Internet-based businesses. Industry-leading guest speakers provide perspectives too.
Instructors: Jaswinder Singh
Computational Geometry
This course introduces the basic concepts of geometric computing, illustrating the importance of this field for a variety of applications areas, such as computer graphics, solid modeling, robotics, database, pattern recognition, and statistical analysis. Algorithms are presented and analyzed for a large number of geometric problems, and an array of fundamental techniques are discussed (e.g., convex hulls, Voronoi diagrams, intersection problems, multidimensional searching).
Instructors: Bernard Chazelle
Senior Independent Work (B.S.E. candidates only)
Provides an opportunity for a student to concentrate on a "state-of-the-art" project in computer science. Topics may be selected from suggestions by faculty members or proposed by the student. The final choice must be approved by the faculty advisor.
Instructors: Robert Fish, Kyle Jamieson

Pages

Courses: Full Listing

No results found.