Systems Development for Computational Science


Computation has emerged as the third pillar of science alongside the pillars of theory and experiment. Computational science is maturing rapidly and has found considerable and significant use in supporting scientists from various disciplines (including all engineering disciplines, mathematics, physics, chemistry, finance, biology, and data analysis to name a few). Many burgeoning scientists are still taught to write "a code" for some problem and to debug when things look wrong. Given the ever-increasing complexity of software solutions to scientific problems, this old paradigm is no longer tenable and at best inefficient.

CS107/AC207 is an applications course highlighting the use of software engineering and computer science in solving scientific problems. You will learn the fundamentals of developing scientific software systems including abstract thinking, the handling of data, and assessment of computational approaches: all in the context of good software engineering practices.

The class syllabus can be found by following this link.

Teaching Staff

The preferred way to reach the teaching staff is described in the Teaching Staff Mailing List section below.

Instructor

Teaching Fellows

Fellow Email Office Hours Pair-Programming Sections
Kimon Vogt kvogt@g.harvard.edu Sat 8:00-10:00am (Zoom) Mon 8:00-9:15am (Zoom)
Fri 8:00-9:15am (Zoom)
Yixian Gan ygan@g.harvard.edu Tue 5:00-6:00pm (SEC 6.301+6.302) Mon 6:00-7:15pm (SEC 6.301+6.302)
Allison Karp akarp@mde.harvard.edu Thu 9:30-10:30am (SEC 6.301,6.302) Tue 9:30-10:45am (SEC 6.301+6.302)
Gekai Liao gekailiao@g.harvard.edu Thu 4:00-5:00pm (MD PierceHall 100F) Tue 3:45-5:00pm (SEC 6.301+6.302)
Victor Zhu dunminzhu@g.harvard.edu Mon 10:00-11:00am (Zoom) Thu 6:00-7:15pm (Zoom)
Frank Cheng xcheng@g.harvard.edu Fri 4:00-5:00pm (SEC 2.122+2.123) Thu 1:00-2:15pm (SEC 2.122+2.123)
Danni Lai danninglai@g.harvard.edu Wed 4:00-5:00pm (Zoom) Tue 7:00-8:15pm (Zoom)
Isabella Bossa isabellabossa@g.harvard.edu Tue 10:45-11:45am (MD 223) Thu 8:00-9:15am (MD 123)
Tanner Marsh tam997@g.harvard.edu Fri 10:00-11:00am (SEC 2.112) Thu 1:00-2:15pm (SEC 2.122+2.123)
Boxiang Wang bwang@g.harvard.edu Mon 1:00-2:00pm (SEC 6.301+6.302) Thu 3:45-5:00pm (SEC 4.405)
Shuheng Liu shuheng_liu@g.harvard.edu Mon 7:00-8:00pm (Zoom) Tue 7:00-8:15pm (Zoom)
Cyrus Asgari cyrusasgari@college.harvard.edu Wed 3:00-4:00pm (MD 123) Fri 12:00-1:15pm (SEC 2.122+2.123)
Haitian Liu hliu3@g.harvard.edu Fri 2:45-3:45pm (SEC 2.122+2.123) Fri 1:30-2:45pm (SEC 2.122+2.123)

Legend:

Please see Pages section in Canvas for a Google Calendar.

Lecture Hours

All lectures are of 75 minutes duration. Time is given in Eastern Standard Time (Boston).

Lecture attendance is mandatory:

Time Room
Tuesday 2:15 - 3:30 PM SEC 1.321
Thursday 2:15 - 3:30 PM SEC 1.321

Important Information

git clone git@code.harvard.edu:CS107/main.git

Updates to the main repository are posted on the class mailing list. Your Harvard ID is required to login to https://code.harvard.edu. You can request membership in the CS107 organization (AC207 students join the CS107 organization as well) by sending an email to cs107-staff@g.harvard.edu (using your .harvard.edu email). You must include your NetID in the body of your email, which is also your https://code.harvard.edu username (something similar to abc123).

Once you have been added to the CS107 organization, create your own private repository inside the organization. Your private repository must have the exact name as your NetID. This will be your private class repository where you submit your homework and pair-programming exercises.

See the following tutorial to help you get started with your git repository:

Class Discussion Forum

We will use the Ed Discussion forum on our Canvas page as our main communication platform. Questions regarding homework, labs or lecture material must be posted on this forum and you are encouraged to reply to questions if you know the answer or you can share a useful contribution. A fraction of your participation grade is computed by how often you visit and the frequency you post on the forum.

Class Mailing List

You can optionally sign up to our class mailing list if you would like to be notified whenever there is new class content available in the class git repository. Replies to posts in this list will be sent to all list members. To sign up, send an email to:

cs107+subscribe@g.harvard.edu
(subscribe by sending a blank email to this address; use the email address associated with your HarvardID)

You are required to confirm your subscription. Simply reply to the confirmation email with a blank message to complete the subscription.

Teaching Staff Mailing List

You can reach the teaching staff directly by sending your email to the following mailing list

cs107-staff@g.harvard.edu
(email sent to this list is only seen by the teaching staff; only email ending with .harvard.edu is accepted)

You are not required to register for this mailing list but only email addresses ending with .harvard.edu are accepted (you will receive a rejection message otherwise).

Getting Started Checklist