Junior Programming Information

General Resources

Instructor office hours: 12pm-1pm M/T/W/Th (during lunch period) Prof. Kelly - GHC 4109
Prof. Arman - GHC 5111
TA office hours: 6:30pm-8:30pm M/T/W/Th (during TA Hrs.) Gates 5th floor commons and clusters
(near Pausch bridge)
Use the OH Queue app when asking questions at TA office hours. All grades will be released on Autolab.

Track Information

Junior CS-Track
Lectures: 8:30am-10am M/T/W/Th/F Baker 140F
Advising: 3:30-5pm Monday CUC - Dowd

Syllabus

Overview

All three SAMS programming courses introduce students to computer programming. This field of study involves determining how to build algorithms (specific sets of instructions) that can solve problems, and how to translate those algorithms into a language that a computer can understand and execute.

The junior CS-track course will teach programming in the context of web development, using a combination of the languages HTML, CSS, and Javascript. The senior CS-track course will teach programming with a common general-use language, Python. The senior non-CS-track course will introduce students to the basic ideas of programming by teaching a subset of the Python language.

Resources

All courses have no required textbook; course notes will instead be shared online on the course website.

Students who need additional help on the assignments are encouraged to attend instructor office hours from 12pm-1pm on M/T/W/Th, or TA office hours from 6:30pm-8:30pm on M/T/W/Th/Su. The course staff is happy to answer questions, whether they be about the homework assignments, preparing for quizzes, or just about what getting a major in computer science is like.

All courses will use the online system Autolab for homework submission, grading, and providing feedback to students. All will also use the online system OH Queue to manage questions during office hours. Students should familiarize themselves with these two resources.

Junior CS-Track Syllabus

Learning Objectives

In the junior CS-track course, students will learn how to create web applications. This will involve learning three programming languages, HTML, CSS, and Javascript, and learning industry-leading technologies such as Git, Github, and Google Cloud Firestore. By the end of this course, students will have a public web-portfolio with example-projects that they can show to friends, family, universities, and employers.

Resources

For coding, we will be using the Atom editor, available on the Mac Clusters.

For reference, you will mainly be using the course notes and other resources from there, but you may and should use the entire internet. Many of the things you want to do as a web developer have been done before to some capacity, and many of them have been documented on the internet. Feel free to use Google to ask how others have solved these problems, but be sure to cite any code that you get from the internet. You may not copy code snippets of more than 5 lines.

Evaluation

Evaluation will be based on participation, homework, and quizzes.