Computer Networking

This course covers advanced fundamental principles of computer networks, studying foundational material in the field. Topics include advanced network architecture, network algorithmics, network control, network measurement, and wireless networks. The goal of this course is to teach networking fundamentals/techniques that will be useful for years to come. Undergraduate background in networking, algorithms, probability theory, and optimization will be helpful.

Pract & Appl of Data Managemnt

Computing has become data-driven, and databases are now at the heart of commercial applications. The purpose of this course is to provide a comprehensive introduction to the use of data management systems within the context of various applications. Some of the covered topics include application-driven database design, schema refinement, implementation of basic transactions, data on the web, and data visualization.

Reasoning Under Uncertainty

Development of mathematical reasoning skills for problems that involve uncertainty. Counting and probability, probabilistic reasoning, Naive Bayes classifiers, Monte Carlo simulation, Markov chains, Markov decision processes, classical game theory, and introduction to information theory.

ST-Programming in C

A brief introduction to the C programming language for students with a good working knowledge of Java and data structures. This course is good preparation for CMPSCI 230 and courses that use C and C++. Prerequisites: CMPSCI 187 or ECE 242 or permission of instructor. This course is for CMPSCI minors and majors only, but it does not count towards either degree.

Computer Systems Principles

Large-scale software systems like Google - deployed over a world-wide network of hundreds of thousands of computers - have become a part of our lives. These are systems success stories - they are reliable, available ("up" nearly all the time), handle an unbelievable amount of load from users around the world, yet provide virtually instantaneous results.

Computer Networks

Introduction to computer communication networks and protocols. Fundamental concepts in the design and analysis of computer networks. Topics include: layered network architectures, applications, network, programming interfaces, transport, congestion, routing, data link protocols, local area networks, emerging high-speed networks, network management, and network security. Examples drawn from the Internet (e.g., TCP, UDP, and IP) protocol suite.

ST-Programming in C

A brief introduction to the C programming language for students with a good working knowledge of Java and data structures. This course is good preparation for CMPSCI 230 and courses that use C and C++. Prerequisites: CMPSCI 187 or ECE 242 or permission of instructor. This course is for CMPSCI minors and majors only, but it does not count towards either degree.

Systems

This class is an in-depth introduction to systems, focusing on principles of system design that cross-cut numerous systems artifacts, including operating systems, databases, runtime systems, and architecture. We will cover all levels of the "system stack", from chips to distributed systems. This course may be used to satisfy systems core requirements.

S-Inside the Box:How Cmps Work

In this course we peel away the layers of abstraction and look at how switches become logic circuits, how logic circuits do math, and how programs really execute. We will wire up some simple examples of logic, then move on to programming an embedded ARM processor in a mix of assembly language and C, interfacing with various I/O devices and sensors, to experience what happens when machine code executes. We will also see the impact of hidden acceleration mechanisms like caches, pipelines, and branch predictors. This course counts as a CS Elective toward the CMPSCI major (BA/BS).
Subscribe to