Andrei Test - Courses lists

Courses: Full Listing new

Undergraduate Courses

Fall 2022

The Hidden History of Hollywood - Research Film Studio
This course surveys a hidden canon of Afro-American film while also uncovers the roots of representational injustice in Hollywood and the secret, but cardinal role Woodrow Wilson played in the production and distribution of Griffith's "The Birth of a Nation" that led to the rebirth of the KKK. Wilson's policy of segregation was adapted by Hollywood as a self-censoring industry regulation of representation. Black people could only appear on screen as subservient and marginal characters, never as equals, partners or leaders. This industry code, Wilson's legacy, has become second nature to Hollywood.
Instructors: Erika Kiss
Computers in Our World
Computers are all around us. How does this affect the world we live in? This course is a broad introduction to computing technology for humanities and social sciences students. Topics will be drawn from current issues and events, and will include discussion of how computers work; what programming is and why it is hard; how the Internet and the Web work; security and privacy.
Instructors: Brian Kernighan
Computer Science: An Interdisciplinary Approach
Weekly: two recorded video lectures, one class meeting, two preceptorials. An introduction to computer science in the context of scientific, engineering, and commercial applications. The goal of the course is to teach basic principles and practical issues, while at the same time preparing students to use computers effectively for applications in computer science, physics, biology, chemistry, engineering, and other disciplines. Topics include: hardware and software systems; programming in Java; algorithms and data structures; fundamental principles of computation; and scientific computing, including simulation, optimization, and data analysis.
Instructors: Ruth Fong, Alan Kaplan, Kevin Wayne
Introduction to Programming Systems
Developing programming skills for systems building, including modular program design, programming style, testing, debugging, and performance tuning. Additionally, an introduction to ARM assembly language and machine language.
Instructors: Christopher Moretti
Algorithms and Data Structures
This course surveys the most important algorithms and data structures in use on computers today. Particular emphasis is given to algorithms for sorting, searching, graphs, and strings. The course concentrates on developing implementations, understanding their performance characteristics, and estimating their potential effectiveness in applications.
Instructors: Gillat Kol, Dan Leyzberg
Reasoning About Computation
An introduction to mathematical topics relevant to computer science. Combinatorics, probability and graph theory will be covered in the context of computer science applications. The course will present a computer science approach to thinking and modeling. Students will be introduced to fundamental concepts in theoretical computer science, such as NP-completeness and cryptography that arise from the world view of efficient computation.
Instructors: Iasonas Petras, Ran Raz
Mathematics for Numerical Computing and Machine Learning
This course provides a comprehensive and practical background for students interested in continuous mathematics for computer science. The goal is to prepare students for higher-level subjects in artificial intelligence, machine learning, computer vision, natural language processing, graphics, and other topics that require numerical computation. This course is intended students who wish to pursue these more advanced topics, but who have not taken (or do not feel comfortable) with university-level multivariable calculus (e.g., MAT 201/203) and probability (e.g., ORF 245 or ORF 309). See "Other Information"
Instructors: Ryan Adams
Principles of Computer System Design
This course teaches students the design, implementation, and evaluation of computer systems, including operating systems, networking, and distributed systems.The course will teach students to evaluate the performance and study the design choices of existing systems. Students will also learn general systems concepts that support design goals of modularity, performance, and security. Students will apply materials learned in lectures and readings to design and build new systems components.
Instructors: Amit Levy, Ravi Netravali
Introduction to Machine Learning
Provides a broad introduction to different machine learning paradigms and algorithms, providing a foundation for further study or independent work in machine learning, artificial intelligence, and data science. Topics include linear models for classification and regression, support vector machines, neural networks, clustering, principal components analysis, Markov decision processed, planning, and reinforcement learning.
Instructors: Ruth Fong, Karthik Narasimhan
Functional Programming
An introduction to the principles of typed functional programming. Programming recursive functions over structured data types and informal reasoning by induction about the correctness of those functions. Functional algorithms and data structures. Principles of modular programming, type abstraction, representation invariants and representation independence. Parallel functional programming, algorithms and applications.
Instructors: Andrew Appel


Courses: Full Listing

No results found.