COMP 11 Introduction to Computer Science


Course Number COMP11
Semester Spring 2012
Hours MW 3:00-4:15p, MW 4:30-5:45p
Schedule I+ Block,
K+ Block
Location Robinson 253, Halligan 111A

Instructor Remco Chang
email remco_at_
cs_tufts_edu
Office Halligan E009
Office Hours Thursday 4-6pm

Lab Instructor Bruce Molay
email bruce.molay
_at_tufts_edu
Office Halligan E011
Office Hours By Appointment


Course Description
Schedule
Projects & Labs
Office Hours
Grading
Attendance
Textbook
Misconduct
Accommodation
Contact
Acknowledgement

Course Description

The study of computer science centers on two complementary aspects of the discipline. First, computer science is fundamentally concerned with the problem-solving methodologies it derives from its foundational fields: the design principles of engineering, mathematical theory, and scientific empirical study. Second, these methodologies are applied in the complex context of a modern day computing system. In this course we will address both of these important aspects. As a means for developing your design skills, we will discuss the fundamental features of a high level, general purpose programming language -- namely C++-- and learn how to use it as a tool for problem solving. We will also consider the performance of solutions, and how to apply both analytical and empirical assessment techniques. Finally, we will explore the Unix operating system as a context for problem solving. (Additional 1.25 hr weekly lab time scheduled at first class meeting.)


Prerequisite: High school programming course, COMP 10, EN 47, or consent.


Announcement: 2/13: Assignment 1: Sample answers are now posted.

Announcement: 2/12: Assignment 3:

  • The submission system for hw3 is not yet set up. Please wait until Monday evening until submitting your work.
  • Corrections:
    1. The original version of the assignment said to write a program called checkdate.cpp. That should have said to write a program called chkdate.cpp .
    2. The sample data file for chkdate.cpp program was named chkdate.date. That should have been called chkdate.data. The current version of the same file is now named that. If you copied the original version, just type
      mv chkdate.date chkdate.data
    3. To submit your work, if you use emacs, you need to type one command before running provide. To submit your work, use these two commands
      rm -f *.~
      provide comp11 hw3 max3.* 3wordsort.* chkdate.*



Announcement: 2/8: Assignment 3 is posted. See the link marked Asgn 3 out in the Projects column below.


Announcement: 1/25: Piazza sign up link for this course is: https://piazza.com/tufts/spring2012/comp11 . If you still have problem about it, please send email to samuelli_at_cs_tufts_edu.



Schedule

Date Topic Lab Projects Notes
1/23/2012 Course Intro, Problems and procedures
(handout)(code samples).
Tractors
(intro) (handout)
(Sign up) for your unix account.
(Sign up) for week 1 lab
(Sign up) for permanent lab
1/25/2012 Variables and ops; storage: units and types; processing: operations; basic code format
(handout)
Asgn 1 out
1/30/2012 Functions, conditionals, booleans (handout) Using Linux
(worksheet) (overview)
(How to) connect to the CS linux server remotely.
2/1/2012 Flow control, rules of logic switch (handout) Asgn 2 out Submit Asgn1 2/2: the last add date
2/6/2012 User defined functions, constants
(handout)
minnie golf (worksheet) (overview) Asgn 2 due
2/8/2012 Scoping, redefining variables, returning values (handout) Asgn 3 out Asgn 2 due
2/13/2012 Arrays and loops
(handout)
Loops and arrays minnie II
2/15/2012 Basic array operations: total, max, search Asgn 3 due
2/20/2012 President's Day, no class
2/22/2012 Data structures to fit problems: structs I 2/23: the last drop date, to select PASS/FALL
2/23/2012 (Substitute Monday's schedule)
Structs and I/O; Structs and functions.
2/27/2012 Functions and data structures Snowstorm Lab Proj 1 out
2/29/2012 Pointers I; Binky, Wiz of OS
3/5/2012 File I/O Call trees and code structures
3/7/2012 File operations and growable arrays
3/12/2012 Midterm review Midterm practice Proj 1 due
3/14/2012 Midterm
3/19/2012 Spring Recess, No Class
3/21/2012 Spring Recess, No Class
3/26/2012 Dynamic arrays I New and delete for dynamic arrays Proj 2a out
3/28/2012 Dynamic arrays II
4/2/2012 Linked data structures I Funny data structure Lab
4/4/2012 Linked data structures II 4/5: the last drop date for freshmen
4/9/2012 Classes I Warehouse Lab Proj 2b out Proj 2a due
4/11/2012 Classes II
4/16/2012 Patriot's Day, no class
4/18/2012 Recursion I
4/23/2012 Recursion II Recursion and trees/lists Proj 2b due
4/25/2012 Review
4/30/2012 Final Exam


Projects & Labs

Project 1 : TBA
Project 2a: TBA
Project 2b: TBA

Late policy for projects:
For the programming projects we will have a token system. Each student has 5 homework tokens at the start of the semester. A homework token buys one 24 hour extension. As many as three homework tokens may be used on any project. To use a token a student submits an empty file (you can create one in emacs) named .tokenX. (Here X refers to the token number being used, 0-9) along with the project files. For example, a student who wishes to to use two tokens on a project and who has previously used 2 tokens during the semester would submit two files named token2 and token3 along with their project files. No project will be accepted more than 3 days after the due date.

Take-Home Labs

Lab 1: Tractor Due Wednesday, Feb 1. (submit) your assignment
Lab 2: Using Unix Due Wednesday, Feb 8. Submit using provide.
Lab 3: TBA
Lab 4: TBA
Lab 5: TBA

Late policy for labs:
Labs must be completed and submitted within a week. We will not accept late submissions.


Office Hours

All office hours will be held at Halligan 118.
Sunday
2:00 - 4:00: Jake Rosenberg, Trevor John, Sarah Ruckhaus
6:00 - 8:00: Griselle Ong, Nate Tenczar, Trevor John

Monday
6:00 - 7:00: Trevor John, Amadou Crookes, Nate Tenczar
7:00 - 8:00: Joe Kennedy, Trevor John
8:00 - 9:00: Joe Kennedy, Trevor John, Charlie Powell
9:00 - 10:00: Joe Kennedy, Charlie Powell, Trevor John

Tuesday
6:00 - 7:00: Cameron LaHart, Jillian Silver, Amadou Crookes
7:00 - 8:00: Jake Rosenberg, Josh Mermelstein, Cameron LaHart
8:00 - 9:00: Griselle Ong, Josh Mermelstein, Charlie Powell
9:00 - 10:00: Griselle Ong, Josh Mermelstein, Charlie Powell

Wednesday
6:00 - 7:00: Sarah Ruckhaus, Amadou Crookes, Nate Tenczar
7:00 - 8:00: Jake Rosenberg, Sarah Ruckhaus, Rachel Lew
8:00 - 9:00: Sarah Ruckhaus, Rachel Lew, Carolyn Saund
9:00 - 10:00: Rachel Lew, Carolyn Saund, Josh Mermelstein

Thursday
6:00 - 7:00: Cameron LaHart, Jillian Silver, Amadou Crookes
7:00 - 8:00: Cameron LaHart, Carolyn Saund, Jillian Silver, Amadou Crookes
8:00 - 9:00: Carolyn Saund, Jillian Silver, Ariel Hamlin, Amadou Crookes
9:00 - 10:00: Carolyn Saund, Ariel Hamlin, Cameron LaHart



Grading

25%   Projects Large coding projects
20% Labs Weekly coding assignments
10% Participation   Class participation and lab attendance
20% Midterm
25% Final

The late policy for the programming assignments is listed in "Projects & Labs" section. There will be no make-up exams for the midterm or the final exam. If there is an extraordinary circumstance that will prevent you from completing your assignment on time, you must contact the course instructors as well as your academic dean to make special arrangements.


Attendance

Attending class is mandatory. All students are responsible for the material covered in class. The homework and exams are directly related to the material discussed in class. The lectures in each section of the course are primarily in synch. If you cannot attend your regular section for some reason, try to attend another section that same day. If you miss a lecture please see the professor to discuss what material was covered.

Attending your scheduled lab is mandatory. You will sign up the first week of class for a lab section. Students rank their top choices. We will do our best to accommodate your time preferences. As many lab sections fill, we can not always accommodate dropin visitors or schedule changes as the number of computers in the lab is limited.


Textbooks

The required text book for this course is Problem Solving with C++. Walter Savitch, (Pearson) 2011. 8th edition. ISBN: 0132162733 Note: The 7th edition is fine! There are no assigned readings in the course, but the textbook is a critical esource in helping study the syntax of C++. Students who are having difficulty with the concepts in lecture will find the textbook a great resource for extra examples of code. A copy of the textbook is on reserve in the library.


Academic Misconduct

Students should read the Tufts brochure on academic conduct located on publication website of the student affairs office:
http://uss.tufts.edu/studentaffairs/codeofconduct/

A few highlights are presented to emphasize importance:

Absolute adherence to the code of conduct is demanded of the instructor, teaching fellow, and students. This means that no matter the circumstance any misconduct will be reported to Tufts University.

While students are encouraged to discuss course materials, no written collaboration is allowed on homework. Specifically you may discuss assignments and projects verbally, but must write up or work on the computer alone. In addition any discussion should be documented. An example on the project would be "Thanks to Jordan for showing me how to initialize the linked list." Another important example is citing a source, this could be "This information was adapted from www.boston.com"

While computers enable easy copying and collaboration both with other students and materials from the Internet, it is possible to use these same computers to detect plagiarism and collaboration. I reserve the right to write a program to detect plagiarism and inappropriate collaboration.



Contact

If you have a question regarding the course or an assignment, please log into Piazza and post your question online first. If you are enrolled in this class but do not have an account on Piazza for COMP 11, please contact Alvitta Ottley (alvittao_at_cs_tufts_edu), who is one of the graduate TAs.

If you have a general question for the TAs that you do not feel comfortable posting on an online forum like Piazza, please send an email to ta11_at_cs_tufts_edu. All the TAs and the instructors will receive the email.

To contact a specific TA, please find their name and email address below:

Alvitta Ottleyalvittao_at_cs_tufts_eduGrad TA
Samuel Lisamuelli_at_cs_tufts_eduGrad TA
Andrea LevineAndrea.Levine_at_tufts_eduHead Undergrad TA
Amadou CrookesAmadou.Crookes_at_tufts_edu
Ariel HamlinAriel.Hamlin_at_tufts_edu
Trevor JohnTrevor.Rothaus_at_tufts_edu
Joe KennedyJoseph.Kennedy_at_tufts_edu
Cameron LaHartLaHartComp11_at_gmail_com
Rachel LewRachel.Lew_at_tufts_edu
Josh MermelsteinJoshua.Mermelstein_at_tufts_edu
Griselle OngGriselle.Ong_at_tufts_edu
Charlie PowellCharles.Powell_at_tufts_edu
Jake RosenbergJacob.Rosenberg_at_tufts_edu
Sarah RuckhausSarah.Ruckhaus_at_tufts_edu
Carolyn SaundCarolyn.Saund_at_tufts_edu
Jillian SilverJillian.Silver_at_tufts_edu
Nate TenczarNathaniel.Tenczar_at_tufts_edu



Accommodation

Tufts is committed to providing support services and reasonable accommodations to all students with documented disabilities. To request an accommodation, you must register with the Disability Services Office at the beginning of the semester. To do so, call the Student Services Desk at (617) 627-2000 to arrange an appointment with Sandra Baer, Program Director of Disability Services.


Acknowledgement