Part 1. Introduction
A comprehensive introduction to computer programming using the C++ language. The course covers program design, C++ programming basics, control structures, functions and parameter passing. Students write and implement programs with data structures (arrays), pointers and files. Object-oriented programming is also introduced, along with concepts of abstraction, ADTs, encapsulation and data hiding.
Logic and Quantitative Reasoning
3-1/2yrs high school math or instructor approval.
Part 2. Course Outcomes and Expectations
This course addresses UMD campus student learning outcomes (SLOs) , UMD Liberal Education Logic and Quantitative Reasoning outcomes (LQ-SLOs), and outcomes in computer science education specified by the UMD Department of Computer Science and aligned with the standards put forth by the ABET accrediting board.
You are responsible for...
As an instructor, I will endeavor to…
If there are additional ways that the instructor can assist you please let him know.
Part 3: Course Structure and Materials
Lecture: Section 1: M,T,W,F 12:00-12:50 in BohH 90
Lecture: Section 8: M,T,W,F 2:00-2:50 in MonH 80
Lab: Th (various times) in MWAH-177
Dr. James Allert, Ast. Prof, Computer Science
web page: www.d.umn.edu/~jallert/cs1
Office: 324A Heller Hall
Office Hours: MT 3-4:50pm and arranged
Office phone: (218) 726-7194
TAs will assist in lecture, grade your exercises and programming projects, and assist you by answering questions you may have about course material. The TAs are available to meet you during their office hours. However, they will not write code for you.
Note: If you contact your instructor or TA by email please include the class (CS-1511) in the Subject line. Do not expect replies to be immediate (especially on weekends or in the evening). Do not attach program files to be graded or debugged. Programs are only graded in lab.
Savitch, W. (2018) Problem Solving with C++, Tenth Edition,
Pearson, ISBN-13: 978-0-13-444828-2.
This gradebook for this course is maintained on the Moodle course management system. To access Moodle go to the instructor's website or go to moodle.umn.edu .
All course documents (syllabus, calendar, PowerPoint slides, etc.) are available on the calendar page of the instructor's website
Programming assignments in this course are done using the g++ compiler on UMD’s Linux mainframe (bulldog). You are not required to purchase this software for this course. All projects can be completed using the Windows computers in the UMD full-access computer labs . Terminal programs (tty) are available, or built into many operating systems, and allow you to remotely access bulldog.
If you have questions please ask your TA, they would be glad to show you how it works.
Other software packages that also support C++:
The instructor reserves the right to make changes in the syllabus or the course calendar at any time, and without prior notice.
Part 4. Course Topics
The following is a list of topics typically covered throughout the 15 weeks of the semester. Variation may occur in any particular semester. See the detailed course calendar on Moodle for more detail.
|Week||Reading Assignment||Topic||Course Outcome|
|Week 1||Chapter 1.1, 1.2, 1.3||Course intro, syllabus, Intro to computing||1a|
|Week 2||Chapter 1.4, 2.1-2.2||Program design, simple programs||1a, 1b|
|Week 3||Chapter 2.3-2.5||Essential C++, variables, data types arithmetic operators and expressions, commenting||2c|
|Week 4||Chapter 3.1, 3.2||Branching, if, if…else, if…elseif, switch||2a|
|Week 5||Chapter 3.3, 3.4||Loops, while, for, summation||2a|
|Week 6||Chapter 4||Procedural abstraction, functions, scope||2b|
|Week 7||Chapter 5||Reference parameters||2b|
|Week 8||Chapter 6||IO streams, files||3a|
|Week 9||Chapter 7.1-7.3||Arrays||3a|
|Week 10||Chapter 8||Strings and vectors||3a|
|Week 11||Chapter 9||Pointers and dynamic arrays||3b|
|Week 12||Chapter 10.1, 10.2||Classes, class definitions||3c|
|Week 13||Chapter 1.1, 1.2||Accessor and mutator functions||1a|
|Week 14||Chapter 10.3, 10.4||ADTs and inheritance||3c|
|Week 15||Course overview|
Part 5. Course Policies
Laptop computers are not required for this course. Use of electronic devices (laptops, tablets, cell phones, etc) is not allowed in discussion sections or in lecture. Exceptions to this rule may be made in specific circumstances with the permission of the instructor.
Failure to attend class is the quickest way to a poor grade. If you are unable to attend a class meeting, it is your responsibility to obtain class notes and other materials. There are no makeups for missed labs, exercises, quizzes or exams unless you have an excused absence that qualifies under the UMD Excused Absence Policy and have cleared it with the instructor beforehand.
The instructor will enforce and students are expected to follow the University's Student Conduct Code. Appropriate classroom conduct promotes an environment of academic achievement and integrity. Disruptive classroom behavior that substantially or repeatedly interrupts either the instructor's ability to teach, or student learning, is prohibited. Disruptive behavior includes inappropriate use of technology in the classroom. Examples include ringing cell phones, text-messaging, watching videos, playing computer games, doing email, or surfing the Internet on your computer instead of note-taking or other instructor-sanctioned activities.
Large lecture halls are sometimes difficult places in which to learn. You can improve your chances by sitting up front or in the middle. Here are other guidelines that apply to this course:
All assignments are due at the beginning of class on the due date in the course calendar. Late assignments are not accepted.
There is no extra credit work available beyond that listed in the syllabus and course calendar.
In accordance with
UMD cancel/add and refund deadlines
, cancellation of courses after the end of the eighth
week is not permitted. If you are doing poorly in the class it is your
responsibility to talk with the instructor prior to the 8th week to determine
what course of action to take.
Part 6. Assessment and Grading
Midterm exams are in Chem 200, from 6:00pm-6:50pm (see above)
Arrange your schedule now to accomodate them. There will be no alternate dates or times for those who fail to clear their schedules.
The final exam is a Common Exam and is tentatively scheduled for Monday, Dec. 11 from 4-5:55pm in BohH 90.
Most exams are a mixture of multiple choice and programming problems. You should expect to write C++ program segments from start to finish without the aid of any course materials or the text. Exams will be handed back, reviewed and may be re-collected. If you are unable to attend the day exams are reviewed you are encouraged to come see your exam during office hours with your TA. Student ID's will be checked at exams. The date and time of the final examination can be found on the UMD Final Exam Schedule page. Final exam conflicts are handled according to the UMD Final Exam Policies.
Your current and final grades are based on your total points.
Total points are posted to the Moodle grade book.
Keep all old assignments in case you need to verify a score with your TA.
Points will be posted regularly by your TA.
If scores are missing please be sure to contact your TA right away.
The key percentage cutoffs for minus grades are:
A- = 90%,
B- = 80%,
C- = 70%,
D = 60%
These cutoff percentages may be raised or lowered at the instructors’ discretion.
You may have taken classes in which an assignment can be thrown together at the last minute - that strategy never works in computer science. Putting off programming assignments until the last minute has been proven by many former students to be the fastest route to a poor grade.
Your instructor and your Graduate Teaching Assistants are available during their office hours to answer questions and help you with your programs, although they will not write code for you or tell you any part of the solution. Check with your TA for office hours and locations.
Academic dishonesty tarnishes UMD's reputation and discredits the accomplishments of students. UMD is committed to providing students every possible opportunity to grow in mind and spirit. This pledge can only be redeemed in an environment of trust, honesty, and fairness. As a result, academic dishonesty is regarded as a serious offense by all members of the academic community. In keeping with this ideal, this course will adhere to policies administered by The UMD Office of Student Conduct. This policy sanctions students engaging in academic dishonesty with penalties up to and including expulsion from the university for repeat offenders.
Most professional computer scientists belong to the Association for Computing Machinery (ACM) which has its own code of ethics. These will be the guidelines for your programming in this course and include such concerns as respecting the privacy and property of others, giving proper credit for intellectual property and being honest and trustworthy.
From the standpoint of CS-1511, scholastic dishonesty includes the following:
All incidents of cheating, no matter how small, are reported to the UMD Office of Student Conduct. NOTE: There are severe consequences for cheating on exams. If you are caught cheating on an exam the penalty is an F for the exam AND for the entire course. The penalty for cheating on projects or other assignments is a 0 on the assignment plus a 50 point deduction from your total points.
Course materials are provided solely for educational purposes for students enrolled in this course. Course materials are copyrighted by the instructor or the publisher of your textbook and may not be distributed to others, in whole or in part, except as permitted under university policy.
Part 7. General Information
The Department of Computer Science is part of the Swenson College of Science and Engineering at the University of Minnesota Duluth, a campus of the University of Minnesota system. The Department was established in 1986. It offers programs leading to the Bachelor of Science and Master of Science degrees in Computer Science and the Bachelor of Science degree in Computer Information Systems. The mission of the Department of Computer Science is four-fold:
Part 8. Resources
As instructor, I shall make every attempt to treat all students equally, without regard to race, religion, color, sex, handicap, age, veteran status, or sexual orientation. I encourage you to talk to me about your concerns of equal opportunity in the classroom. To inquire further about the University's policy on equal opportunity log on to the OEO website.
It is the policy and practice of the University of Minnesota Duluth to create inclusive learning environments for all students, including students with disabilities. If there are aspects of this course that result in barriers to your inclusion or your ability to meet course requirements – such as time limited exams, inaccessible web content, or the use of non-captioned videos – please notify the instructor as soon as possible. You are also encouraged to contact the Office of Disability Resources to discuss and arrange reasonable accommodations. Please call 218-726-6130 or visit the Disability Resources website for more information.
The Tutoring Center is located in the Learning Commons on the second floor of the Library. It offers one-on-one interaction with peers, in a non-intimidating atmosphere, as a compliment to your instructional foundation. Tutoring services are: Free /confidential / walk-in A representative from the Tutoring Center may visit class during the second or third week to explain the service and distribute office hours. You can log onto the UMD tutoring center website.
The UMD Library maintains an extensive collection of materials through their online collection. This includes many electronic works related to topics covered in this class. Entire electronic versions of many books (although not your course textbook) are accessible through the UMD link to Safari Books Online. These, and other materials, can be accessed on the UMD Library website.