CS4302.01 Advanced Computing Projects

Location: Bennington College
Term(s): Spring 2012
Class size: 4

In this course, we will apply computing methods in order to develop solutions to real world problems. We will focus on problems that require computing in order to create, collect, process, or visualize data and that offer opportunities to hone our coding and software development skills. Students are invited to bring their project ideas or existing projects in need of development into the class.

Prerequisite: Permission of Instructor
Credits: 2
Time: F 2:10 – 6:00 pm
(This class meets during the first seven weeks of the term)
Fork me on GitHub

CS2106.01 Understanding Alan Turing

Location: Bennington College
Term(s): Spring 2012
Class size: 13

Alan Turing is a central figure in the history and theory of computing. Turing gave the first precise definition of algorithms and computability and a guideline for understanding artificial intelligence: the Turing Test. Turing played a role in the cracking of German military encryption during World War II and in the post-war development of the first digital computers. Turing lost his security clearance and was largely forgotten for the last half of the 20th century because he was homosexual. We will explore the man, his ideas, and his lasting contributions to modern computing.

Prerequisite: None
Credits: 2
Time: T/F 2:10 – 4:00 pm
(This class meets during the second seven weeks of the term)

CS2113.01 The Nature of Information

Location: Bennington College
Term(s): Spring 2012
Class size: 16

What is information? How do you measure it? Is information perishable? Is it scarce? Understanding what information is and how (and whether) it can be created, shared, manipulated, or destroyed is increasingly critical in understanding science, public policy, and civic engagement. This course will explore how our understanding of information has changed over the past 100 years and how that understanding changes how we behave individually and collectively.

Prerequisite: None
Credits: 4
Time: T/Th 10:10 – 12:00 noon

CS4120.01 Contributing to Free & Open Source Software

Location: Bennington College
Term(s): Spring 2012
Class size: 9

Most of us use free/open source software (the Web, Open Office, R, Linux) or services that rely upon FOSS (Yahoo!, Facebook, Google). In this course we will explore how these software projects are managed, the community of developers working to improve these projects, and the tools and languages they use. We will learn how to read, understand, and contribute to these projects.

Prerequisite: Permission of Instructor
Credits: 4
Time: W 2:00 – 6:00 pm

CS2130.01 Mobile Web Applications Development

Location: Bennington College
Term(s): Fall 2011
Class size: TBD

We will learn how HTML5, CSS3, and JavaScript can be used to create Web (i.e., non-native) applications for smart phones. We will build several applications that demonstrate the potential to address mobile computing needs.

Prerequisite: Ideally, some experience with HTML, CSS, and/or JavaScript. For those without such experience, a short workshop (TBA) will be offered
Credits: 2
Time: M/Th 4:10 – 6pm
(This class meets during the SECOND seven weeks)

CS4150.01: Seven Languages in Seven Weeks

Location: Bennington College
Term(s): Fall 2011
Class size: 5

For students with some programming experience, we will explore the structure, syntax, and philosophy of seven different programming languages in an effort to understand the reasoning underlying each model of problem solving and the types of problems to which each is well-suited.

Prerequisite: Programming experience or permission of instructor.
Credits: 2
Time: M/Th 4:10 – 6pm
(This class meets during the FIRST seven weeks)

CS2110.01: Computing Fundamentals

Location: Bennington College
Term(s): Fall 2011
Class size: ~ 20 students/term

Students will rediscover the foundational ideas that gave rise to modern computing including Boolean logic, binary arithmatic, algorithms, Turing machines, transistor logic, stored program computing, and modern computer hardware and software architectures. Students will learn to program in at least one computer language and will explore the problem solving idioms unique to computational thinking.

CS2105.01: Making Computing Socially Relevant

Location: Bennington College
Term(s): Spring 2011
Class size: ~ 20 students/term

Educators are beginning to attend to the challenges of developing meaningful computer science education: identifying a common core of intended learning outcomes, instructional designs, and assessments. Computer scientists are beginning to attend to the challenges of making computing relevant to communities and society and educating the next generation of computing professionals.

However, existing approaches to teaching computing tend to focus on small projects, solely for the consumption of the teacher and students in the class (“toy projects”); formal methods (the “traditional” approach); game development (“projects about toys”); or examples intended to be meaningful to the digital generation (“relevant” projects, but with a lower-case “r”).
Continue reading

CS4202.01: Advanced Projects In Computing

Location: Bennington College
Term(s): Fall 2010
Class size: ~ 7 students/term

Students will engage in group critiques of both individual project program code and free & open source program code to explore idioms and best practices in several programming languages: JavaScript, Ruby/Rails, and Processing, for example.

Students will be expected to present on at least one technology and one project as well as to actively engage in providing feedback on others projects.

CS2103.01: Social Nature of Information

Location: Bennington College
Term(s): Fall 2010
Class size: ~ 7 students/term

How does information influence individuals, groups, organizations, communities, governments, and society? Why do we share information? Is information a scarce resource? Understanding what information is and how it can be created, shared, manipulated, or destroyed is increasingly critical in understanding public policy and civic engagement. This course will explore how access to or lack of access to information changes how we behave individually and collectively. We will consider policy areas such as education, health care, the environment, science research, intellectual property, and governance and analyze how information supports and detracts from these discussions.