| Course Information (Spring 2008): |
| |
| Course Description: |
Computer programming in a contemporary language
such as C++ or Java, using software engineering techniques.
Problem solving, program design, documentation, debugging practices.
Language skills: input/output, control, repetition, functions, files,
classes and abstract data types, arrays, and pointers. Introduction to
operating systems and object-oriented programming. Application to
problems in science and engineering. |
| Current Session: |
|
| |
|
| Course Format: |
The course will be conducted in a lecture format on Mondays and Wednesdays and a
lab format on Fridays. There will be 12 labs with required submissions and a
larger final project. The final project will include more problem solving than
the other labs, and will provide a brief introduction to program design. Lab
descriptions will be added to the course web page as the course
progresses. (See Lab Assignments link above.)
Some labs may be completed during the Friday lab session; most labs will require additional
homework time. The deadline for all labs will be 11:59 pm on the due day. All
assignments must be submitted electronically. Procedures for electronic
submission will be explained during the first lab.
A teaching assistant (TA) will grade all labs and the final project; the
instructor will grade all exams. All grade discussions should be directed toward
the instructor.
|
| Course Goals: |
The objectives of this course are to introduce students to (1) C++, a contemporary programming
language, (2) software engineering techniques, and (3) programming skills for
solving science and engineering problems. To achieve these objectives, we will
use Microsoft's Visual C++ Express.
Upon completion of this course, you should know:
- How to write a respectable computer program
- The basics of the C++ programming language
- How to solve a variety of science and engineering problems with computer programs
|
| Required Textbook: |
Delores Etter and Jeanine Ingber, Engineering Problem Solving with C++ Prentice Hall,
2003.
|
| |
| Computer Facilities and Assistance: |
|
You need an ADIT account to use the lab machines in the Computer Commons, 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 Computer Commons
Help Desk in room 156A of CTLM.
Friday lab sessions will be held in room 129 of the CTLM. Work for this course outside of
Friday labs can be done at the Computer Commons (room 156 of CTLM),
at the library, or on your home
computer.
Help: Teaching Assistants (TAs) will
be available in the Computer Commons (room 156)
for additional help with labs.
For Spring 2008, TAs will be available
each Monday from 4pm-8pm according to the
following schedule.
|
| |
| 4-5:30pm | 5:30-6:30pm | 6:30-8pm |
| Tina | Alan | Doug & Matt |
Note: Tina will also be available electronically
from approximately 9:30pm to 11pm. Email your instructor for
her contact information.
|
| |
| Student Evaluation |
| Labs and Final Project |
Exam I |
Exam II |
Final Exam |
| 40% |
15% |
15% |
30% |
NOTE: YOU MUST PASS (60% OR HIGHER)
THE FINAL PROJECT AND FINAL EXAM TO PASS THIS COURSE
Late work: The general policy for this course is that late work is not acceptable. To do
well in this course, you must keep up with the assignments. The late policy for
this course follows.
- 20% deduction for one day late (e.g., by 11:59 pm Tuesday for a lab due at 11:59 pm Monday)
- 40% deduction for two days late (e.g., by 11:59 pm Wednesday for a lab due at 11:59 pm Monday)
- You need instructor approval to submit a lab more than two days late
|
| |
| 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 261 are to be individual efforts
unless explicitly stated otherwise.
|