CS 100
An Introduction to Computer Science |
![]() |
This semester, we will be exploring the creative aspects of coding as an introduction to computer science. You will exercise creativity in visual design while learning how to design programs in a language called Processing. Processing is a language/environment built upon the programming language Java, it was created by artists, designers, and computer scientists.
Instructor
Elodie FourquetOffice | Clapp 226 | ||||||||
Phone | 538-2241 | ||||||||
efourque mtholyoke.edu | |||||||||
Office Hours |
|
Teaching Assistants
The teaching assistants for CS100 are- Phuong Vu,
- Shani Mensing
- Jackie Oberlander and
- Ning Xie
|
Meeting times
LecturesTue. & Thr. | 11:30 - 12:45 |
Cleveland 3L |
Mon. | 3:15 P.M. - 4:00 P.M. |
4:05 P.M. - 4:50 P.M. | |
Room | Visilab, Kendade G06 |
First floor of Kendade |
Websites
Course Webpage | http://www.mtholyoke.edu/~efourque/cs100 |
Moodle | https://moodle.mtholyoke.edu/ |
Course Objectives
- To learn the basics of programming.
To be able to write simple programs incorporating functions, loops, and conditionals in Processing. - To practice problem solving while creating images and interactive content.
- To learn the rudiments of how a computer works.
- To gain a basic understanding of how computers represent and manipulate data.
- To understand some of the factors that limit the power of computers.
Textbooks
The required textbook is
- Processing: Creative Coding and Generative Art in Processing 2 (2012) by
Ira Greenberg, Dianna Xu, and Deepak Kumar.
Additional books available on reserve for 3 hours in the library.
- Picture This How Pictures Work by Molly Bang. Short book that I strongly recommend to read early in the term. It will help you to create an effective visual design for assignment 1.
- Processing: A Programming Handbook for Visual Designers and Artists by Casey Reas and Ben Fry. Another Processing reference which is very good.
Course Content
- Introduction to computing: algorithms and pseudo-code
- Drawing primitives: points, lines, simple shapes, arcs, curves
- Color
- Functions
- Variables and primitive data types
- Images
- Expressions and operators
- Conditionals
- Photoshop and Illustrator: pixel and vector graphics
- Image processing
- Interaction and animation
- Recursion
Grading
Policies
Attendance- You are expected to attend class and lab sessions.
Attendance at lab sessions is mandatory. - Make-up midterms will be given by prior arrangement only. I need to know at least a day ahead of time if you can't make it to the midterm, and does not guarantee that an extension will be granted. Otherwise, a zero will be given.
- Being absent is not an excuse for not submitting your work on time.
Programming work will be submitted electronically, i.e. on Moodle. The procedure will be explained in the first lab.
Labs are due one week after they are assigned (unless otherwise noted in the lab description). You are also required to demonstrate your lab results of the previous week to the instructor or to a TA during the lab session. Your lab work will receive a 10% penalty if you do not present it during the lab session.
In addition to labs, there will be assignments (approximately every couple of week). Assignments will most often be programming, but a couple may be problem sets. Details about turning these in will be provided.
Assignments must be handed in on the day they are due. In order to encourage you to do the work, even if it is late, late assignments are accepted with a penalty of 5% for each day late. The first late day is the 24 hour starting when the assignment is due, the second day the next 24 hours, and so on.
Your work on all labs and assignments must be the work of the individual student unless otherwise noted.
Participation
Your participation grade will be based on participation in class, in the lab and on Moodle. By doing the assigned readings and the class activities you are expected to be able to participate in lecture discussions by volunteering answers and asking questions.
We are going to be using Moodle's forum for our class discussions outside of class. Rather than emailing questions to me, you are encouraged to post the questions on Moodle's forum. On Moodle, you should feel free to ask questions and to respond to your classmates questions (and to share links to documentation and tutorials when appropriate). Replying and giving hints on Moodle's forum to a student who asked for help is useful to the rest of the class. I encourage collaboration through Moodle and doing so will be reflected in your participation grade.
Announcements related to issues that arise between class meetings will be made on the News forum on Moodle. In particular, clarifications of programming assignments, changes to due dates, etc. will be posted on Moodle. You are responsible for checking Moodle and the course website on a regular basis.
Collaboration
You are allowed to discuss concepts related to programming assignments with classmates. However, you are expected to do your own work: any work that you hand in must to be entirely your own.
Submission of work that is not your own is considered a violation of the Honor Code. The penalty for such a violation is a zero on the assignment. In accordance with the student handbook, all such violations will be reported to the Dean of Students.
Using the Web and Other References
The Web is a marvelous source of information. However, it is not supposed to do your homework for you. First, many online posters don't know what they're talking about, so be careful what you use. Second, in hunting for an example of how to do something, you may actually find a complete version of an assigned problem (it can happen, we won't be doing anything terribly complex in this class). Please don't just copy code and hand it in, this is plagiarism.
If you use more than a single line of code, attribute it to the source.
Failing to appropriately cite all the resources used to complete an assignment is a violation of the Honor Code.
The library provides an online tutorial on the proper use of sources as well. If you have any doubt, please ask.
Accessibility Accommodations
Students who need classroom or exams accommodations due to an accessibility consideration must be registered with AccessAbility Services and have an accommodation letter. I encourage students with accommodation letters to make an appointment with me as soon as possible to discuss their needs.
Caveat
Everything on this syllabus is subject to change. Changes will be announced in class and updated in this online syllabus.