CSCI0101AS14
CRN: 20026

The Computing Age
The Computing Age
In this course we will provide a broad introductory overview of the discipline of computer science, with no prerequisites or assumed prior knowledge of computers or programming. A significant component of the course is an introduction to algorithmic concepts and to programming using Python; programming assignments will explore algorithmic strategies such as selection, iteration, divideandconquer, and recursion, as well as introducing the Python programming language. Additional topics will include: the structure and organization of computers, the Internet and World Wide Web, abstraction as a means of managing complexity, social and ethical computing issues, and the question "What is computation?" 3 hr. lect./lab
 Instructors:
 Christopher Andrews
 Location:
 McCardell Bicentennial Hall 220
 Schedule:
 9:05am9:55am on Monday, Wednesday (Feb 10, 2014 to May 12, 2014)
 Requirements Satisfied:
 DED

CSCI0101XS14
CRN: 22470

The Computing Age
The Computing Age Lab
The Computing Age
In this course we will provide a broad introductory overview of the discipline of computer science, with no prerequisites or assumed prior knowledge of computers or programming. A significant component of the course is an introduction to algorithmic concepts and to programming using Python; programming assignments will explore algorithmic strategies such as selection, iteration, divideandconquer, and recursion, as well as introducing the Python programming language. Additional topics will include: the structure and organization of computers, the Internet and World Wide Web, abstraction as a means of managing complexity, social and ethical computing issues, and the question "What is computation?" 3 hr. lect./lab
 Instructors:
 Christopher Andrews, Colby Horn
 Location:
 McCardell Bicentennial Hall 505
 Schedule:
 8:00am8:50am on Friday (Feb 10, 2014 to May 12, 2014)

CSCI0101YS14
CRN: 22471

The Computing Age
The Computing Age Lab
The Computing Age
In this course we will provide a broad introductory overview of the discipline of computer science, with no prerequisites or assumed prior knowledge of computers or programming. A significant component of the course is an introduction to algorithmic concepts and to programming using Python; programming assignments will explore algorithmic strategies such as selection, iteration, divideandconquer, and recursion, as well as introducing the Python programming language. Additional topics will include: the structure and organization of computers, the Internet and World Wide Web, abstraction as a means of managing complexity, social and ethical computing issues, and the question "What is computation?" 3 hr. lect./lab
 Instructors:
 Christopher Andrews, Colby Horn
 Location:
 McCardell Bicentennial Hall 505
 Schedule:
 9:05am9:55am on Friday (Feb 10, 2014 to May 12, 2014)

CSCI0101ZS14
CRN: 22472

The Computing Age
The Computing Age Lab
The Computing Age
In this course we will provide a broad introductory overview of the discipline of computer science, with no prerequisites or assumed prior knowledge of computers or programming. A significant component of the course is an introduction to algorithmic concepts and to programming using Python; programming assignments will explore algorithmic strategies such as selection, iteration, divideandconquer, and recursion, as well as introducing the Python programming language. Additional topics will include: the structure and organization of computers, the Internet and World Wide Web, abstraction as a means of managing complexity, social and ethical computing issues, and the question "What is computation?" 3 hr. lect./lab
 Instructors:
 Christopher Andrews, Colby Horn
 Location:
 McCardell Bicentennial Hall 505
 Schedule:
 1:30pm2:20pm on Friday (Feb 10, 2014 to May 12, 2014)

CSCI0150AS14
CRN: 22066

Computing for the Sciences
Computing for the Sciences
In this course we will provide an introduction to the field of computer science geared towards students interested in mathematics and the natural sciences. We will study problemsolving approaches and computational techniques utilized in a variety of domains including biology, chemistry, physics, and engineering. Students will learn how to program in Python and other languages, how to extract information from large data sets, and how to utilize a common technique employed in scientific computation. The course has no prerequisites and assumes no prior experience with programming or computer science. 3 hrs. lect./lab
 Instructors:
 David Kauchak
 Location:
 McCardell Bicentennial Hall 505
 Schedule:
 10:10am11:00am on Monday, Wednesday, Friday (Feb 10, 2014 to May 12, 2014)
 Requirements Satisfied:
 DED

CSCI0150BS14
CRN: 22067

Computing for the Sciences
Computing for the Sciences
In this course we will provide an introduction to the field of computer science geared towards students interested in mathematics and the natural sciences. We will study problemsolving approaches and computational techniques utilized in a variety of domains including biology, chemistry, physics, and engineering. Students will learn how to program in Python and other languages, how to extract information from large data sets, and how to utilize a common technique employed in scientific computation. The course has no prerequisites and assumes no prior experience with programming or computer science. 3 hrs. lect./lab
 Instructors:
 David Kauchak
 Location:
 McCardell Bicentennial Hall 505
 Schedule:
 11:15am12:05pm on Monday, Wednesday, Friday (Feb 10, 2014 to May 12, 2014)
 Requirements Satisfied:
 DED

CSCI0200AS14
CRN: 21348

Math Foundations of Computing
Mathematical Foundations of Computing
In this course we will provide an introduction to the mathematical foundations of computer science, with an emphasis on formal reasoning. Topics will include propositional and predicate logic, sets, functions, and relations; basic number theory; mathematical induction and other proof methods; combinatorics, probability, and recurrence relations; graph theory; and models of computation. (One CSCI course at the 0100level previously or concurrently; formerly CSCI 0102) 3 hrs. lect./lab
 Instructors:
 Matthew Dickerson
 Location:
 McCardell Bicentennial Hall 104
 Schedule:
 11:00am12:15pm on Tuesday, Thursday (Feb 10, 2014 to May 12, 2014)
 Requirements Satisfied:
 DED

CSCI0201AS14
CRN: 20062

Data Structures
Data Structures
In this course we will study the ideas and structures helpful in designing algorithms and writing programs for solving large, complex problems. The Java programming language and objectoriented paradigm are introduced in the context of important abstract data types (ADTs) such as stacks, queues, trees, and graphs. We will study efficient implementations of these ADTs, and learn classic algorithms to manipulate these structures for tasks such as sorting and searching. Prior programming experience is expected, but prior familiarity with the Java programming language is not assumed. (One CSCI course at the 0100level) 3 hrs. lect./lab
 Instructors:
 David Kauchak
 Location:
 McCardell Bicentennial Hall 104
 Schedule:
 1:45pm2:35pm on Monday, Wednesday, Friday (Feb 10, 2014 to May 12, 2014)
 Requirements Satisfied:
 DED

CSCI0302AS14
CRN: 20418

Algorithms and Complexity
Algorithms and Complexity
This course focuses on the development of correct and efficient algorithmic solutions to computational problems, and on the underlying data structures to support these algorithms. Topics include computational complexity, analysis of algorithms, proof of algorithm correctness, advanced data structures such as balanced search trees, and also important algorithmic techniques including greedy and dynamic programming. The course complements the treatment of NPcompleteness in CSCI 0301. (CSCI 0200 and CSCI 0201) 3 hrs. lect./disc.
 Instructors:
 Matthew Dickerson
 Location:
 McCardell Bicentennial Hall 438
 Schedule:
 9:30am10:45am on Tuesday, Thursday (Feb 10, 2014 to May 12, 2014)
 Requirements Satisfied:
 DED

CSCI0465AS14
CRN: 22435

Information Visualization
Information Visualization
Information visualization is used to reveal patterns, trends, and outliers within abstract data. In this course we will cover topics such as the transformation of data to visual representations, common approaches to dealing with different types of data, perceptual issues that govern how visualizations are interpreted, and the development of interactive visualization tools. This course will culminate in a significant final visualization project. (CSCI 0201)
 Instructors:
 Christopher Andrews
 Location:
 McCardell Bicentennial Hall 538
 Schedule:
 11:00am12:15pm on Tuesday, Thursday (Feb 10, 2014 to May 12, 2014)
 Requirements Satisfied:
 DED

CSCI0500AS14
CRN: 20320

Advanced Study
Advanced Study
Individual study for qualified students in more advanced topics in computer science theory, systems, or application areas. Particularly suited for students who enter with advanced standing. (Approval required) 3 hrs. lect.
 Location:
 Main
 Schedule:
 7:00pm8:29pm on Sunday (Feb 10, 2014 to May 12, 2014)

CSCI0500DS14
CRN: 20634

Advanced Study
Advanced Study
Individual study for qualified students in more advanced topics in computer science theory, systems, or application areas. Particularly suited for students who enter with advanced standing. (Approval required) 3 hrs. lect.
 Instructors:
 Matthew Dickerson
 Location:
 Main
 Schedule:
 7:00pm8:29pm on Sunday (Feb 10, 2014 to May 12, 2014)

CSCI0500ES14
CRN: 20635

Advanced Study
Advanced Study
Individual study for qualified students in more advanced topics in computer science theory, systems, or application areas. Particularly suited for students who enter with advanced standing. (Approval required) 3 hrs. lect.
 Instructors:
 David Kauchak
 Location:
 Main
 Schedule:
 7:00pm8:29pm on Sunday (Feb 10, 2014 to May 12, 2014)

CSCI0500FS14
CRN: 20792

Advanced Study
Advanced Study
Individual study for qualified students in more advanced topics in computer science theory, systems, or application areas. Particularly suited for students who enter with advanced standing. (Approval required) 3 hrs. lect.
 Instructors:
 Ananya Christman
 Location:
 Main
 Schedule:
 7:00pm8:29pm on Sunday (Feb 10, 2014 to May 12, 2014)

CSCI0500GS14
CRN: 22469

Advanced Study
Advanced Study
Individual study for qualified students in more advanced topics in computer science theory, systems, or application areas. Particularly suited for students who enter with advanced standing. (Approval required) 3 hrs. lect.
 Instructors:
 Christopher Andrews
 Location:
 Main
 Schedule:
 7:00pm8:29pm on Sunday (Feb 10, 2014 to May 12, 2014)

CSCI0702AS14
CRN: 20629

Senior Seminar
Senior Seminar
Each student will complete a major capstone project in this course. This project can take the form of either (1) a thesis on a topic chosen with the advice of a faculty member, or (2) a group programming project approved by the computer science faculty. All students will present their work at the end of the semester. In addition, during the academic year, all seniors are expected to attend a series of lectures designed to introduce and integrate ideas of computer science not covered in other coursework. 3 hrs. lect./disc
 Instructors:
 Matthew Dickerson
 Location:
 McCardell Bicentennial Hall 538
 Schedule:
 12:30pm1:20pm on Wednesday, Friday (Feb 10, 2014 to May 12, 2014)
