|
|
|
|
|
|
|
Course Criteria
Add courses to your favorites to save, share, and find your best transfer school.
-
3.00 Credits
Comparative Literature 400-level independent study.
-
3.00 Credits
Comparative Literature 400-level independent study.
-
3.00 Credits
Elementary Korean.
-
3.00 Credits
This course introduces many fundamental concepts in computer science by examining the social aspects of computing. As more and more people use the technologies and services available via the Internet, online environments like Facebook, Amazon, Google, Twitter, and blogs are flourishing. However, several of the problems related to security, privacy, and trust that exist in the real world transfer and become amplified in the virtual world created by the ubiquity and pervasiveness of the Internet. In this course, we will investigate how the social, technological, and natural worlds are connected, and how the study of networks sheds light on these connections. Topics include the structure of the Social Web and networks in general; issues such as virtual identity, personal and group privacy, trust evaluation and propagation, and online security; and the technology, economics, and politics of Web information and online communities. No background in computer science or programming is required or expected.
-
3.00 Credits
The game is unique as the only broadly-successful interactive art form. Games communicate the experience of embodying a role by manipulating the player's own decisions, abstraction, and discrete planning. Those three elements are the essence of computation, which makes computer science theory integral to game design. Video games also co-opt programming and computer graphics as new tools for the modern artist. As a result, games are collaborative interdisciplinary constructs that use computation as a medium for creative expression. Students analyze and extend contemporary video and board games using the methodology of science and the language of the arts. They explore how computational concepts like recursion, state, and complexity apply to interactive experiences. They then synthesize new game elements using mathematics, programming and both digital and traditional art tools. Emphasis is on the theory of design in modern European board games. Topics covered include experiment design, gameplay balance, minimax, color theory, pathfinding, game theory, composition, and computability.
Prerequisite:
No programming or game experience is assumed
-
3.00 Credits
This course introduces fundamental ideas in computer science and builds skills in the design, implementation, and testing of computer programs. Students implement algorithms in the Java programming language with a strong focus on constructing correct, understandable, and efficient programs. Students explore the material through specific application areas. Topics covered include object-oriented programming, control structures, arrays, recursion, and event-driven programming. This course is appropriate for all students who want to create software and have little or no prior computing experience. More details are available on the department website, http://www.cs.williams.edu.
Prerequisite:
Except for the standard prerequisites for a (Q) course; previous programming experience is not required
-
3.00 Credits
This course builds on the programming skills acquired in Computer Science 134. It couples work on program design, analysis, and verification with an introduction to the study of data structures. Data structures capture common ways in which to store and manipulate data, and they are important in the construction of sophisticated computer programs. Students are introduced to some of the most important and frequently used data structures: lists, stacks, queues, trees, hash tables, and graphs. Students will be expected to write several programs, ranging from very short programs to more elaborate systems. Emphasis will be placed on the development of clear, modular programs that are easy to read, debug, verify, analyze, and modify.
Prerequisite:
Computer Science 134 or equivalent; Discrete Mathematics is recommended, but not required
-
3.00 Credits
This course studies the basic instruction set architecture and organization of a modern computer. Over the semester the student learns the fundamentals of translating higher level languages into assembly language, and the interpretation of machine languages by hardware. At the same time, a model of computer hardware organization is developed from the gate level upward. Final projects focus on the design of a complex control system in hardware or firmware.
Prerequisite:
Computer Science 134, or both experience in programming and permission of instructor
-
3.00 Credits
This course investigates methods for designing efficient and reliable algorithms. By carefully analyzing the structure of a problem within a mathematical framework, it is often possible to dramatically decrease the computational resources needed to find a solution. In addition, analysis provides a method for verifying the correctness of an algorithm and accurately estimating its running time and space requirements. We will study several algorithm design strategies that build on data structures and programming techniques introduced in Computer Science 136. These include induction, divide-and-conquer, dynamic programming, and greedy algorithms. Particular topics of study include graph theory, hashing, and advanced data structures.
Prerequisite:
Computer Science 136 and Discrete Mathematics
-
3.00 Credits
This course will provide an overview of Computational Biology, the application of computational, mathematical, and physical problem-solving techniques to interpret the rapidly expanding amount of biological data. Topics covered will include database searching, DNA sequence alignment, phylogeny reconstruction, RNA and protein structure prediction, methods of analyzing gene expression, networks, and genome assembly using techniques such as string matching, dynamic programming, suffix trees, hidden Markov models, and expectation-maximization.
Prerequisite:
Programming experience (e.g., CSCI 136), mathematics (PHYS 210 or MATH 105), and physical science (PHYS 142 or 151, or CHEM 151 or 153 or 155), or permission of the instructor
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Privacy Statement
|
Terms of Use
|
Institutional Membership Information
|
About AcademyOne
Copyright 2006 - 2024 AcademyOne, Inc.
|
|
|