| Course Information (Fall
2009): |
| Current Session: |
|
| |
| Section |
Day |
Time |
Room |
Instructor |
Email |
| A: |
MWF |
11:00 |
CTLM 231 |
Roman Tankelevich |
rtankele@mines.edu |
|
| Course Goals: |
This course is designed to introduce
basic data structures in an
object-oriented C++ setting. The syntax of classes and objects from C++
will be presented and applied to linear and hierarchical data
structures. Analysis will also be introduced to enable the student to
reason about efficiency of their program solutions.
Upon completion of this course, you’ll know:
- How to design classes and Abstract Data Types (ADTs)
in C++
- How to select appropriate data structures
- How to implement several data structures
- How to do rough analysis of algorithm complexity.
|
| Course Format: |
The course will be a mixture of lecture and
computer programming exercises. Attendance is required (within
reason). Lab descriptions will be available on the course web page:
http://www.mines.edu/Academic/macs/Courses/csci262/.
There will be 12 labs/projects with required submissions. All labs
are due at 11:59pm on the required due date, with occasional
submissions due in class. Labs will be submitted via Blackboard.
You may need hours outside of class to understand the material
covered and complete assignments. The lab is intended for an
introduction to the new topics and review of old topics. You will
get the most from the class by reading the text, attending lectures,
coming prepared for the in-class labs and spending time on your own
with the topics and assignments.
Exams are graded by the instructor while labs, quizzes, and projects
are graded by a TA. All grade discussions should be directed toward
the instructor though. If you have a question about a grade, please
send an email (individual grades cannot be discussed during class
time).
|
| Required Textbook: |
Michael
Main & Walter Savitch, Data Structures and Other Objects Using
C++ |
| |
| Computer Facilities and
Assistance: |
| You need an ADIT account
to use the lab machines in the computing center, library, and CTLM,
which most students create during EPICS. If you do not have an ADIT
account, you need to know your eKey (personal identification code used
to create your webmail account) and visit http://newuser.mines.edu/adit
prior to the first lab. If you do not know your eKey, contact the
Computing Center in Room 230 of the Green Center.
|
| |
| Student Evaluation |
| Assignments |
Exam I |
Exam II |
Final Exam |
| 45% |
15% |
15% |
25% |
NOTE: YOU MUST PASS THE FINAL (60% OR HIGHER) TO PASS
THIS COURSE
Late work:
The policy for this course is that late work is strongly
discouraged. However,
since there may be occasions when you will not be able to finish an
assignment by the due date, and since it's generally better for you
to finish the lab (to aid your understanding of the material), late
assignments will be permitted.
The penalty for late labs is
2 points per day.
NOTE: some of the labs will build upon the previous lab,
so it will be important to complete all lab assignments.
|
| |
| Collaboration Policy for
Programming Projects in MCS Courses |
The following policy
exists for all CS courses in the MCS department. This policy is a
minimum standard; your instructor may decide to augment this policy.
- If the project is an individual effort project, you
are not allowed to give code you have developed to another student or
use code provided by another student. If the project is a group
project, you are only allowed to share code with your group members.
- You are encouraged to discuss programming projects
with other students in the class, as long as the following rules are
followed:
- You view another student's code only for the
purpose of offering/receiving debugging assistance. Students can only
give advice on what problems to look for; they cannot debug your code
for you. All changes to your code must be made by you.
- Your discussion is subject to the empty hands
policy, which means you leave the discussion without any record
[electronic, mechanical or otherwise] of the discussion.
- Any material from any outside source such as books,
projects, and in particular, from the Web, should be properly
referenced and should only be used if specifically allowed for the
assignment.
- If you are aware of students violating this policy,
you are encouraged to inform the professor of the course. Violating
this policy will be treated as an academic misconduct for all students
involved. See the Student Handbook for details on academic dishonesty.
All labs for CSCI 262 are to be individual efforts
unless explicitly
stated otherwise.
|