Algorithms

This course addresses the design and analysis of computer algorithms. Topics include: set algorithms such as sorting and searching, graph algorithms, string algorithms, and matrix algorithms. Algorithm design paradigms, including the divide-and-conquer, dynamic programming, and greedy paradigms, will be emphasized. The course will end with a discussion of the theory of NP-completeness and its implications.

Requisite: COSC 112 and COSC 211. Fall semester. Professor Gardner.

Networks

Computing networks are ubiquitous and used for a broad range of purposes. Networks are often complex and dynamic, connecting systems with a range of capabilities. Some computers are permanently connected while others (e.g., mobile devices) routinely leave and rejoin the network. In any case, the network must ensure that data are delivered quickly and reliably from one computer to another. This course will begin with the problem of communicating between two computers, followed by the problems of building generalized networks for different types and varying numbers of computing devices.

Machine Learning

Machine Learning algorithms allow computers to be taught to perform tasks without being explicitly programmed. This course is an introduction to machine learning and data mining. The course will explore supervised, unsupervised, ensemble and reinforcement learning. Topics may include: decision tree learning, rule learning, neural networks, support vector machines, Bayesian learning, clustering, hidden Markov model learning, and/or deep learning. The material of this course has some overlap with that of Computer Science 241, but it is permissible to take both.

Computer Systems

This course will examine the principles and design choices involved in creating general purpose computer systems. Topics will include instruction set architectures, virtual memory, caching, allocators and garbage collectors, threads and synchronization, file systems, virtual machines, and distributed systems. Projects will involve the implementation and use of these capabilities and abstractions. Students who have taken COSC 161 may also take this course. Students who have taken COSC 261 may not take this course.

Requisite: COSC 112. Fall semester. Professor Kaplan.

Intro Comp Science II

A continuation of COSC 111. This course will emphasize more complicated problems and their algorithmic solutions. The object-oriented programming paradigm will be discussed in detail, including data abstraction, inheritance, and polymorphism. Other topics will include stacks, queues, linked lists, programming for graphical user  interfaces, and basic topics in probability. A laboratory section will meet once a week to give students practice with programming constructs.

Globalism & Discontents

The rise of populism worldwide today, personified by Donald Trump and Vladimir Putin, is a fierce reaction to globalism policies of the past few decades. Anti-immigration movements in Europe and the United States, assaults on free speech; racial profiling; polarized politics; intolerance for gender, economic, and linguistic diversity; the building of walls and the renegotiation of international trade treaties; the tension between rural and urban communities; and the questioning of the basic tenets of pluralism are some of the symptoms. Democracy itself might be at peril.

Subscribe to