17532 |
IDEA 135
Games at Work: PARTICIPATION, PROCEDURE, AND PLAY |
Ben
Coonley Keith
O'Hara |
M W 1:30pm-4:30pm |
RKC 100 AVERY 333 |
MC PA |
MATC PART |
Cross-listed:
Computer Science; Film and Electronic Arts; Experimental Humanities 8
credits This course
is an intensive, interdisciplinary investigation of games and their pervasive
role in contemporary life. What constitutes a game? Why do people play
them? What makes digital games different from non-digital games? What
roles do games play in contemporary culture? How have game-like incentive
systems and other forms of "gamification" infused non-game contexts,
such as social media, fine art, democracy, education, war, and the modern
workplace? Do games and "gamer" culture effectively preclude, privilege, include, or exclude certain groups,
identities, and worldviews? Course readings, screenings, and mandatory
game play will augment and inform our investigation of these questions and
beyond. The primary coursework will consist of game creation using tools and
methodologies from computer science and electronic art. Students will
create original games (non-digital and digital video games),
both independently and in groups. This work will be augmented by short
assignments designed to build fluency in visual art creation and
interactive game design through short exercises in coding in Javascript, visual design applications, and Unity, a
game design application. Assignments will push students to develop
experimental and critical approaches to game creation. This course is restricted to students in the
lower college. Students with little experience playing games and/or a healthy
skepticism about the cultural and artistic value of games are encouraged
to apply. No prerequisites. Application procedure: Email [email protected] and [email protected] one
paragraph (no more than 100 words) explaining your interest in taking this
course. Class size:
16
17134 |
CMSC 143
Object-Oriented ProgRAMMING WITH RObots |
Khondaker
Salehin LAB: |
M W 10:10am-11:30am F 10:30am-12:30pm |
RKC 107 |
MC |
MATC |
Cross-listed: Experimental Humanities; Mind, Brain, Behavior This course introduces studentsto object-oriented
design and programming through the design and implementation of mobile robot
programs. The programs will enable the robot to move around the world, reacting
to sensors such as obstacle detectors and a color camera. Students will learn how to move from an
informal problem statement, through increasingly precise problem
specifications, to design and implementation of a solution. Good programming habits will be emphasized.
Prerequisite: any Introduction to Computing course, or permission of the
instructor. Class size: 18
17135 |
CMSC 145
Discrete Math |
Robert
McGrail |
T Th 10:10am-11:30am |
RKC 100 |
MC |
MATC |
Discrete
mathematics includes those areas of mathematics that are essential to computer
science, information theory, combinatorics, and genetics. This course
emphasizes creative problem solving, linking language to logic, and learning to
read and write proofs. The topics covered include propositional logic,
predicate logic, inductive proof, sets, relations, functions, introductory
combinatorics and discrete probability. Applications drawn from
computation will motivate most topics. Prerequisite: Mathematics 141 or
programming experience. Class
size: 16
17136 |
CMSC 201
Data Structures |
Keith
O'Hara LAB: |
M W 10:10am-11:30am F 10:30am-12:30pm |
RKC 100 |
MC |
MATC |
Cross-listed: Mind, Brain, Behavior This course introduces students to essential
principles of program design and analysis that underlie applications of
computation to internet communication,
digital media, and artificial intelligence. Building on basic programming
skills, we will focus on the construction of more sophisticated and reliable
computer programs that employ the most important data structures. Data
structures, common ways in which data is organized and manipulated, are an
important aspect of modern programs. Consequently, throughout the course
students will learn to create and use the most useful data structures,
including files, lists, stacks, trees, and graphs. Students will write several programs, ranging
from short lab assignments to larger systems of their own design. Prerequisite: CMSC 141 or 143, or permission
of the instructor. Class size: 18
17137 |
CMSC 301
Algorithms |
Robert
McGrail |
T Th 3:10pm-4:30pm |
RKC 101 |
MC |
MATC |
Cross-listed: Mind, Brain, Behavior The course discusses design and analysis of
correct and efficient computer algorithms. Topics include sorting, greedy
algorithms, divide-and-conquer algorithms, dynamic programming algorithms, and
graph algorithms. Advanced topics in algorithms may be selected from
specialized areas of the mathematical and empirical sciences. Prerequisites:
CMSC 201: Data Structures; MATH 141: Calculus I; and CMSC 145: Discrete Mathematics (or MATH
261: Proofs and Fundamentals). Class size: 18
17139 |
CMSC 312
Theory of Computation |
Rebecca
Thomas |
M W 8:30am-9:50am |
RKC 101 |
MC |
MATC |
The course will
introduce several computational models that have been developed to formalize
the notion of an algorithm. It will also discuss in detail several of the
primary topics in the theory of computation including the theory of recursive
functions, Turing machines, and several undecidable problems such as the
Halting problem. Prerequisites: CMSC
145: Discrete Mathematics
or MATH 261: Proofs and Fundamentals. Class
size: 18
17140 |
CMSC 335
Computer Networks |
Khondaker
Salehin LAB: |
M W 1:30pm-2:50pm T 10:10am-
12:10pm |
RKC 107 |
MC |
MATC |
This course takes a bottom-up approach to
computer networking, covering in detail the physical, data link, MAC, network,
transport, and application layers. TCP/IP and OSI reference models are
introduced with examples taken from the Internet, ATM networks, and wireless
networks. Prerequisite: CMSC 143: Object-Oriented Programming. Class
size: 16