CS1500
Algorithms and Data Structures for Engineering, FALL 2012
This is an introductory course in Algorithms (1/3) and
DataStructures (1/3) using the
C++ language(1/3). Topics that will be covered include: basic
algorithms like sorting, searching
and graph traversals; arrays, matrices, linked lists, stacks and
queues, hashes; parameters, local variables, call by value and call by
reference,
writing code to specifications, function declarations, definitions and
calls, pointers, classes and objects, fields,
methods, constructors, inheritance, polymorphism.
Lectures : Mon,Wed,Thu 8AM-9:05AM, WVH rooms 108 and 110.
Instructors:
Virgil Pavlu,
vip@ccs.neu.edu
* office hours : Wed 6pm-8pm, WVH room 210.
Jose Annunziato, jannunzi@gmail.com
* office hours : Thu 4pm-6pm, WVH room 310.
TAs: cs1500hw@gmail.com
Rohan Garg
Morteza Dilgir
Huadong Li
LAB SECTION 1
mandatory : 2:50-4:30pm, Mon, WVH rooms 210, 212 (Rohan, Morteza)
optional: 6-10pm Wed, WVH room 210 (Huadong, Morteza)
optional: 9AM-1PM Sunday, VVH room 210
LAB SECTION 2
mandatory : 2:50-4:30pm, Wed, WVH rooms 210, 212 (Rohan, Morteza)
optional: 6-10pm,Thu, WVH room 210 (Rohan, Huadong)
optional: 9AM-1PM Sunday, VVH room 210
All optional sessions: you have to show up early. If no student shows
up in the first 15-20 minutes, the TA(s) might leave. If you need help
but cant make it early, please arrange by email a meeting with a TA or
instructor.
BOOK
Recommended (not required): Starting out with C++ From Control Structures through Objects, by Tony Gaddis
It is possible to receive a
grade of A in the course without purchasing or reading the textbook.
Students will be quizzed and graded on the material presented in the
classroom. It is also important to note that the course usually follows
the book but there might be some material that is not presented in the book.
However, if you are unsure of your ability to pick up the course
concepts from the class, or if you intend to use C++ professionally
(more students do so than you may realize), the textbook is well worth the
investment.
PREREQUISITES
Prerequisite: GEU 111 Engineering Problem Solving and Computation
Co-requisite: CS1501 Lab for Algorithms and Data Structures
WORK
AND GRADING
- LAB - 12 x (approx)10pts each, 120pts total. There will be a lab
session
every week, with a given assignment. You can start working on the
assignment as soon as it is posted. You have to both demo to TA during
lab and submit your work by emailing a file to the TA with the
precise name
LAB#_firstname_lastname.cpp. Lab attendance is mandatory, or you lose
the lab points; you can leave early if you
finish.
- QUIZZES.
There will be an in-class, on paper (no computer, calculators, phones
etc), quiz every three weeks or so. The exact grade weighting between
quizzes, labs and HWs will be posted here when decided.
- HOMEWORK - 6 x 20-25 pts each. There will be a
homework every two weeks, usually due on Thursday morning. You can get
help on these assignments during office hours; a TA will grade them.
Submission must be done by emailing a file to the TA with the precise
name HW#_firstname_lastname.cpp. You can only email once,
so make sure your code works before submitting.
- Few additional points can be earned for class participation (at
discretion of the instructor), or for clever solutions/extensions on
assignments (at discretion of TAs)
BEING LATE
Even if some work is accepted late, nothing can be accepted after December 3rd.
- Labs: everyone can be late or miss on 1 (one) lab session. You will have to make up for it in a future session lab
(please check with the TA)
- Homeworks: everyone can be late
7 (seven) days total - holidays, weekends count. After the 7 free days, each
late day costs 20% of the total HW points.
COLLABORATION
- It is taken very seriously! Violations of these guidelines may result in disciplinary action.
- Not permitted in any form and under any circumstances on quizzes.
- Any collaboration (including discussions/code from outside the class) must be clearly indicated at the top of the submission.
- Encouraged
on Labs. Students can look into each other's code, but copying/sharing
electronically is not allowed. Looking for code online is allowed, but
it cannot be copied verbatim.
- Homeworks: discussions "on board" are allowed, including on very particular
coding issues, but students are not allowed to see/share each other's code.