Syllabus
This course introduces fundamental computer programming concepts using a high-level language and a modern development environment. Programming skills include sequential, selection, and repetition control structures, functions, input and output, primitive data types, basic data structures including arrays and pointers, objects, and classes. Software engineering skills include problem solving, program design, and debugging practices.
Well, that's the official, boring description. The goal of this course is to open your mind to computational thinking, to educate you to leverage programs as tools in your field of study, and to empower you with a fundamental knowledge of programming. We will use C++, Visual Studio, a multimedia toolkit (called SFML), and an animated interactive textbook to reach these goals.
Required Textbook (electronic)
zyBook for Colorado School of Mines
CSCI 261 (Spring 2016): Programming in C++
To purchase book ($48):
- Go to zyBooks
- Create an account (use your mines.edu email address)
- Enter zyBook code: MinesCSCI261Spring2016
- Select your section/instructor
A:5pm, B:9am, C:10am, D:11am, E:12pm, F:1pm - Pay with a credit card
Optional Textbook (if you also want an actual book)
Cay Horstmann
C++ For Everyone
2nd edition, Wiley, 2010.
ISBN 0470927135.
Course Goals
The objectives of this course are to introduce you to:
- C++, a contemporary programming language,
- fundamental programming concepts, and
- experience applying programming skills to solve science and engineering problems.
Upon completion of this course, you should know:
- key programming concepts common in all programming languages,
- how to write a respectable computer program in C++, and
- how to apply the power of programs to solve problems in your field of study.
Computer Facilities and Assistance
All students will need access to various campus computing systems this semester. If you do not have an ADIT account, you need to know your e-key (an identification code used to create your email account) and visit http://newuser.mines.edu/adit right away. See http://ccit.mines.edu/Getting-Started for more details. 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++ 2015 for this course. It is already installed on all lab and computer commons machines. If you want to install it on your own computer, we recommend installing the Express edition, which is free. See the document “How to set up your development environment” for more instructions.
Student Evaluation
Your course grade consists of 1000 points, with the following components.
Component | Points | Weight |
---|---|---|
zyBook Use | 70 | 7% |
Lab/Homework (12) | 300 | 30% |
Final Project | 70 | 7% |
Quizzes (6) | 60 | 6% |
Exam I | 150 | 15% |
Exam II | 150 | 15% |
Final Exam | 200 | 20% |
Your final course letter grade will be based on a standard grading scale, with + and - grades on the highest and lowest third of each category. There is not a curve.
You must pass the final exam and the final project (at least 60% on each) in order to pass this course.
Assignments
Approximately 500BC, Confucius said "I hear and I forget. I see and I remember. I do and I understand." Assignments in this course have been created to ensure you understand.
First, we will assign several sections within our animated interactive textbook (zyBook); your grade for zyBook Use will depend on the textbook percent you complete. (See "How to Use zyBooks” for details.) Second, the labs, HW assignments, and final project give you the necessary ‘hands on’ programming experience for learning the material; all assignments will be submitted via Blackboard. Third, quizzes will cover the material presented in class as well as any material assigned in our zyBook; the purpose of the quizzes is to encourage you to keep up with the course material.
Grades will be entered in Blackboard within one week of submission. 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.
All assignments are due at 8AM on the date specified, unless stated otherwise. Lab/Homework assignments are due on Wednesdays at 8AM for full credit; submission by the following Monday (8AM) can only earn up to 50% of the points, unless an approved absence is submitted.
Expectations
You are expected to attend all classes, to come prepared, and to actively participate in the learning process. If you want to send email, post on Facebook, or play Solitaire, then stay home. Attendance is not tracked, but there is a high correlation between attendance and success in this course. If you need to miss a class, talk to a peer to learn what you missed. To do well in this course, you must keep up!
Support
See “How to get help” for CSCI 261 support. Information on other tutoring, academic enrichment workshops, and academic counseling can by found at http://casa.mines.edu. If you qualify for disability accommodations, meet with your instructor to ensure accommodations are met.
Collaboration and Academic Integrity
You are required to read and to abide by the CSCI 261 collaboration policy and the Mines Honor Code. See “Collaboration Policy” (under Resources) for more information.