CS 171:
Intro to C++ Programming
for Engineers
Course description: This two-credit course provides an introduction to programming using C++. Emphasis on structured programming concepts, with a brief discussion of object-oriented programming. Control structures, expressions, input/output, and arrays.
Pre-requisites:
You must have successfully completed MATH 113 or MATH 115.
|
Professor: Rebecca Bates |
|
|
Computer Science |
|
|
Wissink Hall 231 |
|
|
Phone: 507-389-5587 |
|
|
Fax: 507-389-6376 |
|
|
Email: bates@mnsu.edu |
|
Course Website
http://bates.cs.mnsu.edu/cs171
Check the website regularly for announcements and updates.
Course Hours and Location
|
Lectures T 3-4:30pm |
TR E225 |
|
Lab 01: Th 3-3:50 |
WH 119 |
|
Lab 02: Th 4-4:50 |
WH 119 |
Office Hours
|
Monday |
Tuesday |
Wednesday |
Thursday |
Friday |
| by appointment | 1-2:30, 4:30-5:30 | 1:30-2:30* | 1-2:30* | 2-4** |
*will be in WH 283 so that you can work on the machines while I am there.
**will be held in the ACC
or WH231. See class notes for canceled days.
***There will be additional hours on Friday afternoon with the graduate
assistant. Check webpage for times.
If things that are useful for the entire class come up, they will be posted on the announcement section of the class webpage so please check it regularly.
Tutoring Hours
C++ tutoring will be available each day in WH 283. The schedule will be posted outside the room.
Course Materials
Required Text: Engineering Problem Solving with C++, Delores M. Etter &
Jeanine A. Ingber, Prentice Hall, 1st editon (2003) or 2nd edition (2008).
Course Goals
This course will provide a general understanding of the use of a programming
language for the solution of engineering problems. In particular, students
will gain experience programming in C++ using the Microsoft Visual Studio
development environment. Object-oriented programming concepts will be
introduced. Students can expect to have a basis for learning more complex
programming and problem solving concepts. Students will also have a
collection of programs that can be used as a basis for future programming
projects.
Course Objectives
Class Schedule
This schedule is subject to change. It generally follows the course text. Specific assignments and objectives will be added to the course
web page.
Ch. 1: Introduction & Problem Solving
Ch. 2: Simple C++ Programs: Data types, operators and standard input/output
Ch. 3: Control Structures: Algorithms, logical operators, selection and repetition structures
Ch. 4: Working with Data Files
Ch. 5: Modular Programming with Functions (introduction only)
Ch. 6: One-Dimensional Arrays: Arrays and C++ classes
Ch. 7: Two-Dimensional Arrays and Matrices
Spreadsheet use
Grading
Homework and Lab work: 40%
Midterm Exams: 40% These exams will be written and practical (lab based).
Final exam: 20%
Midterm 1:
Written February 26 Midterm 2:
Written April 8
Final: Monday, May 5, 2:45-4:45pm Your exams will be based on information gained through both homework and lab
experience as well as material covered in lectures and the book. There will be short-answer and discussion questions as well as problem solving
and actual programming. Exams will have a lab component as well as a
written component.
Exams will be graded based on correctness and completion. Point values
and/or rubrics will be distributed with the exams. The final course grade
will be assigned based on the above grading distribution. Expectations of Students Students will take responsibility for their own learning. Students are
responsible for all material, announcements, or changes made during class or on
the course web page. Attending class and checking the web page regularly are
encouraged. While attendance is not graded, students who miss a lot of
class will find it extremely difficult to get an A or even a B in the class.
Students will clear up questions on exams during the exam period. Students are responsible for
ensuring that their exams are not missing any questions or pages.
Students will deal with conflicts in a timely manner. If you have some reason for missing an exam,
you must talk with me before the exam or take a 0 on that exam.
Students will wait 24 hours, but no more than 1 week, after receiving a graded assignment or
exam before bringing up grading questions. Grades will be re-evaluated but are not negotiable.
Students will bring up issues about final grades within two days of grades being released. Again,
I will take requests for grade re-evaluations but final grades are not negotiable.
Students will only ask for an incomplete grade in the case of exceptional circumstances and will
furnish documentation that conforms to CS Department regulations (illness requiring documented medical
attention, documented death in the immediate family).
Students will do and present their own work in compliance with the academic honesty policy.
Students will check their email on a regular
basis. This means at least three times per week. Course Tools Microsoft Visual Studio: This is on many ACC computers. If you
want a copy of the software at home, you are eligible for a temporary license
as a member of this course. See the class website for details. Desire2Learn: This web-based software package will be used for turning in programming
assignments, programming exams and feedback surveys. Password protected webpages: The Computer Science Lab computers host these
pages. The assignments and solutions will be available on the web but
will be password protected. You will set up your account name and
password during the first lab class. Disabilities Academic Honesty In order for an academic community to teach and support appropriate
educational values, an environment of trust, cooperation and personal
responsibility must be maintained. As members of this University community,
students assume the responsibility to fulfill their academic obligations in a
fair and honest manner. This responsibility includes avoiding such inappropriate
activities as plagiarism, cheating or collusion. Students found responsible for
one or more of these activities may face both academic sanctions (such as
lowering a grade, failing of a course, etc.) and disciplinary sanctions (such as
probation, suspension, expulsion). It is the intent of Minnesota State University, Mankato to encourage a sense
of integrity on the part of students in fulfilling their academic requirements.
To give students a better understanding of behaviors that may constitute
academic dishonesty, the following definitions are provided: Plagiarism – Submission of an academic assignment as one's own work,
which includes critical ideas or written narrative that are taken from another
author without the proper citation. This does not apply only to direct
quotes, but also to critical ideas that are paraphrased by the student.
Plagiarism includes but is not limited to: submitting the work of others as your own submitting others work as your own with only
minor changes submitting others work as your own without
adequate footnotes, quotations, and other reference forms multiple submission of the same work, written or
oral, for more than one course without both instructor's permission, or making
minor revisions on work which has received credit and submitting it again as new
work. Cheating — Use of unauthorized material or assistance to help
fulfill academic assignments. This material could include unauthorized copies of
test materials, calculators, crib sheets, help from another student, etc. Collusion — Assistance to another student or among students in
committing the act of cheating or plagiarism.
Exam Dates
Practical February 28
Take home exam assigned
April 9, due 4pm April 11
Homework and Exams
The homework for this course will include problems from the book as well as
programming projects. Lab work will often require some preparation before
class. All programs must be thoroughly commented for full credit. We
will discuss commenting code before any programming assignments are due.
Expect to spend at least 4 hours per week outside of class on reading and
assignments. Homeworks will be due at the beginning of each lab class.
Lab work will be due by 5pm on Fridays. Electronic
submission of your code and results is required. Details for submission
will be discussed in class and on the website.
Grading Policy
Homework will be graded on a 0-4 basis, where:
• 3: mostly complete, good approach, some mistakes
• 2: incomplete or poor approach
• 1: incomplete and poor approach
• 0: nothing turned in
Students who may need accommodations for a disability can make an appointment to
see me during my office hours to discuss your needs.
By staying enrolled in this class, you
agree to abide by the University's Policy for Academic Honesty which appears in
the Student Handbook under the section heading "Academic Honesty". If you have
questions about the policy please contact me, your advisor, or another faculty
member PRIOR to engaging in a "dishonest" act. Failure to abide and respect the
Academic Honesty Policy will result in severe penalties as allowed by the
University. I want to point out to you the following expectation, which comes
directly from the University's Statement of Student Responsibilities: