Syllabus
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.
Textbook
Etter & Ingber, Engineering Problem Solving with C++, Pearson-Prentice-Hall, 2ed 2008. ISBN 0136011756.
Electronic versions of the book are available at http://www.coursesmart.com/9780136011767.
Course Goals
The objectives of this course are to introduce students to:
- C++, a contemporary programming language,
- software engineering techniques, and
- programming skills for solving science and engineering problems.
Upon completion of this course, you should know:
- How to write a respectable computer program
- The basics of the C++ programming language
- Key programming concepts fundamental to all programming languages
- How to solve a variety of science and engineering problems with computer programs
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.
We will use Microsoft Visual Studio/C++ 2010 Express for this course. It is already installed on all lab and computer commons machines. If you want to install it on your own computer, please follow these directions.
Student Evaluation
Students should familiarize themselves with both the C++ collaboration policy and the grading criteria used in this course.
Grade Component | Course Grade Weight |
Final Exam | 30% |
Final Project | 15% |
Exam II | 15% |
Exam I | 15% |
Assignments | 25% |
Assignments
Teaching assistants will post notices on piazza, our online forum, when grades for a particular assignment, per section, are complete. After assignment grades are posted on Blackboard, students have one week to review and contest an assignment grade.
Assignments may not be re-submitted after they have been graded, even if the re-submission is before the assignment deadline.
All homework assignments are due by midnight the day of the deadline.
Late Work
Late work is accepted, but you will lose 10% during the subsequent 24 hours after an assignment is due; and lose 25% (total) for assignments submitted within seven days of the original due date. Assignments submitted more than seven days past the original due date will not be graded without consent from your instructor.
Final Project & Cumulative Grades
The final project is graded on a 30 point scale. The exams and final will each be worth some large number of points (>200). All of these different earned grades, like the assignments, will be converted to a percentile score and then combined with the above weights to determine a final course grade.
You must pass the final exam (at least 60%) in order to pass this course.
Institutional Support
First and second year students are encouraged to seek academic support as they master the fundamental coursework. Information on Tutoring, Academic Enrichment Workshops, and Academic Counseling can be found at academicservices.mines.edu.
Those students who qualify for disability accommodations must request Student Disability Services deliver each professor a Confidential Letter of Required Accommodations to ensure accommodations are met.
Portions © Keith Hellman, Yong Joseph Bakos.