Winter Study 2014

Office of the Registrar, Winter Study 2014

CSCI 10: Designing and Building a Desktop Computer

This course introduces the student to computer components and the methods used to design and construct a fully working desktop system. Students will assemble a computer from existing spare parts to end up with a system suitable for a specific purpose: as a campus email and print station, for remote controlled digital signage, as a network backup server, or as a general purpose computer that can be donated off campus. We will conduct speed tests using different components to determine what impact they have on overall performance. Each student will install an operating system, choosing from free Linux distributions or licensed Windows OSs, download appropriate drivers, diagnostic software, security programs and free productivity suites. We’ll look at Virtual Machines and discuss remote control software as additional tools to add functionality to a computer. Looking forward we will examine emerging computer technology, trends and intriguing advancements like quantum computers. The class will meet three times a week in a lab equipped with the hardware, spare parts and tools for assembly. Research and written assignments outside of class will be due weekly.

Requirements:  Evaluation will be based on research papers, quizzes and the completion of a working system along with presentation to the class.
Prerequisites: None.
Enrollment limit:  12.
Method of selection: Upperclass given preference.
Cost: None.
Meeting time:  Mornings.
Instructor: Seth Rogers. Seth Rogers is the Director of Desktop Systems in the Office for Information Technology. He’s been building and fixing computers for over 15 years. Sponsor, Stephen Freund.

CSCI 11: Introduction to Web Programming

In this course, students will learn the basics of web programming. In particular, they will learn HTML, CSS, and JavaScript. Students will also learn about a number of third-party Application Programming Interfaces (APIs), such as Google Earth and Google Maps APIs, that they will then use in their projects. Working in small teams, students will complete a series of programming assignments toward the development of a web application. They will then propose and complete small team projects of their own choosing. Each team will be required to give a brief presentation describing their final project (including a demonstration of it) and to submit a written report summarizing the design process. Though there will be some lectures, the majority of class time will be spent in the laboratory.

Requirements: Programming exercises; final project and presentation.
Prerequisites:  CSCI 134.
Enrollment limit: 16.
Method of selection:  Preference given to upperclass students with consideration to formation of working groups with similar levels of background.
Cost:  $35.
Meeting time: Mornings.
Instructor: Andrea Danyluk

CSCI 12: Tech Entrepreneurship (Same as CHEM 12)

Designed for students interested in careers in biotechnology and information technology, this course will give students the opportunity to learn how tech startups work. We will utilize a case study approach that will pair each student with a Boston area startup (host). Students will first perform a retrospective analysis of each host company through literature review, patent review, and phone interviews. Students will then visit host companies individually to tour and meet with key staff. Following that, students will develop a forward–looking analysis of markets, product strategies, and growth. Students will summarize their findings in a case study to be submitted as the final project and shared with respective host companies. Examples of the kinds of startups students might study include The Echo Nest in Cambridge, MA, Foundation Medicine in Cambridge, MA and T2 Biosystems in Lexington, MA. The course will include a mandatory two–day trip to Boston for individual and class meetings.

Requirements: Evaluation is based on a classroom participation, presentations and a final report.
Prerequisites:  None.
Enrollment limit:  10.
Method of selection: Preference given to Science majors.
Meeting time:  M/W/F afternoons.
Cost to students: $250 for Boston trip
Instructor: Jeffrey Thomas. Jeffrey Thomas holds an M.D. and a Ph.D. from Indiana University. He helped start two biotechnology companies, Millennium Pharmaceuticals and Genstruct. Sponsor, Tom Smith.

CSCI 13: The Williams Game Jam

The main goal of the course is for students to successfully participate in a game jam; a concentrated creative effort with the primary goal being the production of a full video game by an individual. In the first week, there will be an introductory lecture explaining the basics of game jams, familiarizing students with the tools available, and demonstrating games produced in other successful game jams. The rest of in-class time will be lab sessions where students will work on their individual game jam games. Game jams are traditionally 24-48 contiguous hours where participants can work on their game; we will modify the experience to fit in the 20 hours-per-week schedule of Winter Study courses. We will have 2 full game jams during the course, with an intermediate period preparing for the second jam.Students will be graded on the game produced during the second game jam of the course and their demonstration of said game in a final meeting.

Requirements: Final project (game) and presentation.
Prerequisites: Some programming experience, or permission of the instructor.
Enrollment limit: 10.
Method of selection:  Preference to those who have taken Computer Graphics, followed by those with programming experience or expressed desire in games.
Cost:  None.
Meeting time: Afternoons.
Instructor:  Michael Mara (mikemx7f@gmail.com). Michael Mara is a computer graphics researcher working for NVIDIA studying real-time rendering and global illumination. He is a 2012 alumnus of Williams where he was a computer science major. Sponsor, Stephen Freund.

CSCI 14: Bots, Malware, and The Underground Economy

It is estimated that between 10 and 20% of all broadband connected systems in the US are infected with some form of bot or malware. With the rapid growth of android based infections, this problem is rapidly migrating from Windows PCs onto phones, tablets, and other machines. Malware based attacks have stolen millions, perhaps billions of dollars over the last few years, through credit/bank fraud and identity theft. Malware based DDOS have knocked major corporations, and even some governments, offline. This, in turn, has caught the attention of governments around the world, with most passing some new form of cybersecurity legislation as a result. This course will sit at the intersection of software, cybersecurity policy, and the underground economy. Students will learn about bots (what they do, why they’re used, and how they work), the underground economy (from the dropper that infects the machine to the herder who runs the infection to mules that clean out the bank accounts), and how governments have reacted with modern cybersecurity legislation. Students will examine past and current bots and malware, they will review past criminal cases (and possibly some current ones, depending), and they will review proposed and current US and foreign cybersecurity legislation. Most reading material for this class will be made up of online articles, papers, and blog posts…although some printed books may be used. The class format will consist of reading and research assignments, with individual (or pairs of) students being assigned specific areas to present to the class at the next meeting. These presentations will then lead to class discussion, and additional lecture from the professor if required. If possible, there will be a lab exercise to analyze live malware. Final evaluation will cover these classroom presentations, as well as the creation of a final project. The exact form of the final project will be left to the student, subject to the approval of the professor.

Requirements:  Classroom participation combined with a final project or paper.
Prerequisites:  None; although basic computer knowledge will be required.
Enrollment limit:  25.
Method of selection:  Preference will be given to Computer Science majors.
Cost: $50.
Meeting time:  Afternoons.
Instructor: Chris Roosenraad (chris@roosenraad.com). With over 15 years of experience building high speed internet networks Chris Roosenraad is an industry expert on malware and cybersecurity policy, chairs several industry forums, and provides technical advice to the FBI, NCMEC, and ICANN (among others). Sponsor, Stephen Freund.

CSCI 23: Introduction to Research and Development in Computing

An independent project is completed in collaboration with a member of the Computer Science Department. The projects undertaken will either involve the exploration of a research topic related to the faculty member’s work or the implementation of a software system that will extend the students design and implementation skills. It is expected that the student will spend 20 hours per week working on the project. At the completion of the project, each student will submit a 10-page written report or the software developed together with appropriate documentation of its behavior and design. In addition, students will be expected to give a short presentation or demonstration of their work. Students should consult with the instructor before the beginning of the Winter Study registration period to determine details of projects that might be undertaken.

Requirements:  Final paper and presentation/demonstration.
Prerequisites: Permission of instructor.
Enrollment limit: 10.
Method of selection: Preference given to sophomores and juniors.
Cost: TBA.
Meeting time:  TBA.
Instructor:  Jeannie Albrecht

CSCI 31: Senior Honor Thesis

To be taken by students registered for Computer Science 493-494.