Skip to content

CS117

CS 117 C++ for Engineers (3-0-3)(F,S) An introductory course in computer programming using C++. Topics include: scalar types; aggregate types; reference types; statements; expressions; functions; and a brief introduction to classes and objects. Emphasis is on: implementing given algorithms for numerical, scientific, and engineering applications. PREREQ: MATH170

Tentative Schedule (Fall)

WeekTopicAssignmentsWhat Due?
1Course Introduction
2Introduction to C++ (ch1)1.1 Reading Assignment (ch1)
3Introduction to C++ (ch1)1.2 Reading Assignment (ch1)Project 1 Due
4Variables / Assignments (ch2)2.1 Reading Assignment (ch2)Quiz 1 - ch1
5Variables / Assignments (ch2)2.2 Reading Assignment (ch2)
6Branches (ch3)3.1 Reading Assignment (ch3)Quiz 2 - ch2
7Branches (ch3)3.2 Reading Assignment (ch3)Project 2 Due
8Loops (ch4)4.1 Reading Assignment (ch4)
9Loops (ch4)4.2 Reading Assignment (ch4)Quiz 3 - ch3
10User-Defined Functions (ch5)5.1 Reading Assignment (ch5)Quiz 4 - ch4
11User-Defined Functions (ch5)5.2 Reading Assignment (ch5)Project 3 Due
12Arrays / Vectors (ch6)6.1 Reading Assignment (ch6)
13Arrays / Vectors (ch6)6.2 Reading Assignment (ch6)Project 4 Due
14Thanksgiving
15Objects and Classes (ch7)7.1 Reading Assignment (ch7)Quiz 5 - ch5
16Streams (ch8)8.1 Reading Assignment (ch8)Project 5 Due
17Final ExamFinal Exam - All Chapters

Topics

Topic#Weeks
Introduction to C++ (ch1), Programming Basics, Comments and whitespace, Errors and warnings, General computer knowledge1
Variables / Assignments (ch2), Types, Identifiers, Arithmetic expressions, Floating point numbers, Strings, Numeric data types, Auto (since C++11)2
Branches (ch3), if-else branches, switch statements, conditional expressions, detecting ranges, logical operators2
Loops (ch4), while loops, for loops, nested loops, break and continue, scoping2
User-Defined Functions (ch5), Reasons for defining functions, Mathematical functions, Unit testing, Pass by reference, Functions with string/vector parameters2
Arrays / Vectors (ch6), Iterating through vectors, Vector resize, Vector push_back, two-dimensional arrays, Char arrays / C strings2
Objects and Classes (ch7), Using a class, Defining a class, Mutators, accessors, and private helpers1
Streams (ch8), Input and Output streams, saving and opening files1
Final Exam1

Required Materials/Texts

We will be using zyBooks as our textbook. You should be prompted to sign up for the book when you complete the first assignment that is linked in canvas. Do not go to the zyBooks website and create a new account you must sign up through canvas so that your progress is properly recorded.

Assessments

Your final grade will be calculated with the following weights in canvas.

  • Quizzes - 30%
  • Projects - 40%
  • Textbook Activities - 10%
  • Class Participation - 5%
  • Final Exam - 15%

Quizzes

There will be several quizzes over the assigned reading and general C++ programming during the semester. The quizzes are open notes and open book and must be done individually.

Projects

There are several individual projects this semester. All Projects will be graded with the project grading rubric.

  • Project 1 - This project is the standard "Hello World" project to get you started using a programming editor and compiler!
  • Project 2 - This project will allow the student to practice using variables, assignments, simple branching and convert a scientific formula to code.
  • Project 3 - This project will allow the student to understand how to use statements, expressions and loops
  • Project 4 - This project will allow the student to practice using functions.
  • Project 5 - This project will allow students to practice classes and objects

Textbook Activities

We will be using an interactive textbook this semester and your progress through the textbook will be tracked and reported back to canvas

Class Participation

Students are expected to attend class regularly, participate actively in the classroom, asking and answering questions on the class discussion board, taking advantage of office hours, and reaching out to the instructor as needed.

Final Exam

The final exam will cover all the assigned reading and labs and will be a multiple choice exam that is closed book closed notes.

Instructor Contact

Grading Policy

Grades will be posted in canvas and calculated with the percentages specified below. Final grades will not be rounded. I offer plenty of Extra Credit Opportunities that you can take advantage of to improve your final grade.

Letter GradePercentage
A94% < 100%
A-90% < 94%
B+87% < 90%
B84% < 87%
B-80% < 84%
C+77% < 80%
C74% < 77%
C-70% < 74%
D+67% < 70%
D64% < 67%
D-60% < 64%
F0 < 60%

Extra Credit Opportunities

Standing extra credit is always offered to allow students to bump their grade up if they are on a grading boundary so please take advantage of any extra credit offered. Any extra credit given over the semester can not exceed 2.5% of the total points offered. For example, the maximum number of extra credit points that you can earn if the total points offered is 1000 would be 25.

  • Typos and Bugs - If you find any typos or bugs in the course materials, you can click the "Edit this page" link at the bottom of the page, make the corrections, and then issue a pull request. If I merge your changes back into my repository then I will give you 5 bonus points. I have strategically placed several spelling and grammar errors for you to find so there are plenty of opportunities to get the maximum number of points offered. So make sure and read everything with an eagle 🦅 eye so you can rack up those points!

TIP

Creating a pull request is important and is the core learning objective in the extra credit process. No points will be awarded for any other method of submission. Some pages may include other markdown pages so when you click the edit button if you don't see the content that you want to correct look for an <!--@include: ../path/to/file.md --> directive which will have the path to the file that needs to be updated 😃

  • Use of AI technologies - If you are able to solve 100% of any assignment with AI, I will give you extra credit if you submit your chat logs as proof that it was 100% AI generated.

Homework Policy

Unless explicitly instructed otherwise students are expected to work on their own. All group work will be clearly marked so there should be no confusion. The Kount Computer Learning Center (CCP 241) is accessible 24/7 by proxy card to all students enrolled in CS courses. Machines in the Kount Computer Tutoring Center have all the software you will need this semester.

DANGER

It is still plagiarism to claim work that was generated by ChatGPT or other AI tools as your own and you will be written up for Academic dishonesty if you do not cite your usage of any AI tools.

Attendance Policy

I follow the official attendance policy as defined by the university. Please see the Late Work section for details on how to make up any missed work. Students are responsible for all verbal announcements or updates given during class.

Late Work Policy

All homework assignments can be submitted up to 2 days late with no penalty. After the 2 day grace period no further submissions will be accepted unless prior arrangements have been made before the original due date. No work or extra credit will be accepted after the last day of course instruction, the semester has to end at some point so plan accordingly. Work submitted 1 second late is treated the same as work submitted 1 day late. You can find the last day of course instruction at the registrar.

INFO

For classes taught in the first 5wk or 7wk session of the semester, the last day of course instruction is NOT the same as a regular semester. Please consult the registrar for the last day of course instruction for your specific class.

Exam and Quiz Policy

All exams and quizzes must be taken within the time frame specified on canvas unless prior arrangements have been made. Clearly we can’t have some students taking an exam AFTER the questions (and possibly answers) have been released as it would give that student an unfair advantage. Extensions will be granted on a case by case basis for situations that were outside of the students control. Some exams or quizzes may require you to go to the testing center. It is the student's responsibility to schedule their own appointment in a timely fashion.

Class Interaction Policy

All class interaction assignments must be completed within the time frame specified on canvas or during the lecture unless prior arrangements have been made. Assignments that are intended to be interactive are only valuable when everyone is participating at the same time. It is not fair for a student to expect their fellow classmates to respond or watch your submission that is late when everyone else submitted on time. The secret code for the syllabus quiz is "green".

This applies (but is not limited to) to the following assignment types:

  • Discussion posts
  • Reflections (both written and video)
  • Group meetings - both virtual and in person
  • Status updates
  • Any in class activities
  • Any quizzes or exams that are done on paper

Communication Policy

During the semester communication outside of the classroom will be through email, canvas, and office hours as detailed below. Other methods such as carrier pigeon 🐦 are not supported at this time.

I get a lot of email and sometimes I miss messages, so if you don’t receive a response from me after 48hrs please check to make sure you are sending the email from BroncoMail and send a follow-up email. You can also send an email directly in canvas if your emails are not going through. To help facilitate quick communication please include the following information in all emails to myself or the class TA/GA.

  • First and Last name
  • Student ID - I need this so I can look you up in the system.
  • The class and section number that you are in for example CS123 - section 1

BroncoMail is the official communication channel through which all university business is conducted. It is expected that you access and read university communications two or three times per week. For more information see the University Policy on Student Email Communications (Policy 2280). Your instructor will not respond to any emails sent from personal accounts such as Gmail or Yahoo.

Your instructor will make every effort to return emails within 24hrs Monday thru Friday between the hours of 9:00am and 5:00pm (MST). Emails sent on Saturday, Sunday, or outside of the defined hours will be returned within 24hrs on the following business day. Emails should be reserved for questions that are not appropriate for a public forum such as grades or other personal issues.

Office Hours Policy

For classes taught in the online or remote format office hours will be accessible on canvas by appointment. For classes that are taught in the face to face format office hours will only be available in person with times posted in Canvas. If you can not find the office hours appointment link in canvas please email me ASAP as I sometimes forget to post them at the start of the semester.

IT support Policy

Your instructor and teaching assistant can not provide IT support for your personal machine. If you can not get your personal machine configured correctly you will need to come into the lab to complete all assignments. All machines in the CS labs are supported by the departments IT staff and are guaranteed to work.

Time Commitment

According to Boise State University policy 4080, a 1 credit course spread over 15 weeks should require roughly 3 hours of work per week divided over both in-class interactions and homework. Classes that are held in compressed time frames such as summer or winter breaks still need to complete the same number of credit hours in order for the class to count toward your degree. Thus, if you are taking this class in a compressed semester please consult the table below to make sure you have time to complete all the assigned course work. For example, as noted in the table below, taking two 3 credit courses in a 7 week semester is equivalent to working a full time job.

For a compressed course it is critical that you don’t fall behind! Compressed courses move fast and missing 1 week of class is very hard if not impossible to recover from.

CreditsNumber of weeksTotal HoursHours of work per week
1345 hrs15 hrs
1545 hrs9 hrs
37135 hrs19 hrs
315135 hrs9 hrs

University Policies

All students are required to be familiar with the policies posted below. Please review all linked policies below. Violations of university policies can result in the student receiving a failing grade (F) in the course.

Student support

Accessing University Support Services

Boise State cares about you! You can find many kinds of help, including technical, academic, financial, life needs, learning accommodations, data privacy agreements, and much more. These resources have been gathered into one convenient document for you to keep on hand. Almost all of the student services on campus are also available to online students. Make sure to take a look at the Accessing University Support Services document.

Released under the MIT License.