CS 1123
CS 1123
Course Description:
This course covers the C++ programming language with emphasis placed on object-
oriented design. Students will: use pointers and arrays; use header files; overload
operators; use functions of the standard library; determine a plan for testing a piece of
software; organize a program to determine classes and objects; design a graphical user
interface using Qt GUI.
Learning Outcomes: Upon completion of this course, the student should be able to:
Required Text:
• Beginning C++ Programming: Modern C++ at Your Fingertips!, by Richard Grimes; Packt
Publishing, 2017; ISBN: 9781787124943. 9781787129283. (Permalink)
• The C++ Workshop : Learn to Write Clean, Maintainable Code in C++ and Advance Your
Career in Software Engineering, by Dale Green, Kurt Guntheroth, Shaun Ross Mitchell;
Packt Publishing, 2020; ISBN: 9781839216626. 9781838988364. (Permalink)
Other Materials: C++ IDE: Code Blocks (Install codeblocks-20.03mingw-setup.exe for Windows).
http://www.codeblocks.org/downloads/binaries/
Course Requirements:
2
This is an online course; therefore, students are expected to have basic computer skills and
sufficient experience with computer applications to use the Moodle course management/learning
system for accessing and submitting assignments. The instructor’s contact with you is your official
email on Moodle. It is up to you to ensure you receive any messages or announcements the
instructor sends to you. Moodle is a course management system used for online courses. Access to
Moodle teaching system - Moodle™ is MANDATORY. The system allows the instructor to post
materials, deliver tests and surveys, hold online discussions and many other course-related
functions. All currently enrolled students and teaching faculty have access to the Moodle system. To
become familiar with using Moodle, review the various resources available throughout this site and
other resource material at: Student Training Resources at https://trineonline.trine.edu/
Attendance/Participation: All students are expected to log in to their courses regularly throughout
the week to receive instruction, materials, and updates from the instructor. It is your responsibility to
check in and submit your assignments, complete your discussion board postings, and finish quizzes
and exams by the due dates.
If you do not participate in the course, you will be counted absent. Simply logging in is not enough;
you must submit/complete an assignment, post to a discussion board, or other similar assignment
tasks to avoid being counted absent. Instructors are required to submit attendance the Monday
following each week of class.
This attendance is reported to the Financial Aid Department and may result in the loss of any
financial aid refund you are expecting if you have not been participating in your courses. In addition,
you will be administratively dropped from the course if you are reported absent a total of
three weeks.
Grading/Evaluation:
A 1000-point grading scale is used for this course. The breakdown of point value for each
assignment is available on the Course Submission Schedule. Grading rubrics are posted in
Moodle. Late assignments will NOT be accepted for any reason.
University Policies:
Access: Trine University Course Catalog for all university guidelines, academic policies, and
student standards of conduct.
Academic Misconduct:
The University prohibits all forms of academic misconduct. Academic misconduct
refers to, but is not limited to, the following activities:
• Copying another person’s work and claiming it as your own, or submitting the
same paper in two different courses without knowledge and consent of the
instructor (plagiarism);
• Using the work of a group of students when the assignment requires individual
work;
• Looking at or attempting to look at an examination before it is administered;
• Using materials during an examination that are not permitted;
• Allowing another student to take your examination for you;
• Intentionally impeding the academic work of others;
• Using any electronic device to transmit portions of questions or answers on an
examination to other students;
• Using any electronic device to improperly store information for an exam;
• Knowingly furnishing false information to the University;
• Assisting other students in any of the acts listed above.
• Moreover, a student is expected to submit his/her own work and to identify any
portion of work that has been borrowed from others in any form.
Plagiarism:
You are expected to submit your own work and to identify any portion of work that has
been borrowed from others in any form. An ignorant act of plagiarism on final versions
and minor projects, such as attributing or citing inadequately, will be considered a
failure to master an essential course skill and will result in an F for that assignment. A
deliberate act of plagiarism, such as having someone else do your work, or submitting
someone else’s work as your own (e.g., from the Internet, other student’s files, etc.,
including assignments and forum posts, will at least result in an F for that assignment
and could result in an F for the course.
Artificial Intelligence (AI) is prohibited: All work submitted by students in this course
must be generated by the student. Students may not have another person or entity
contribute to an assignment for them, which includes using AI. Students may not
incorporate any part of an AI-generated response in an assignment, use AI to formulate
arguments, use AI to generate ideas for an assignment, or submit work to an AI
platform for improvement. Using an AI tool to generate content may qualify as
academic misconduct in this course.
OR
Other Policies:
Academic Misconduct:
The University prohibits all forms of academic misconduct. Academic misconduct refers to
dishonesty in examinations (cheating), presenting the ideas or the writing of someone else
as one’s own (plagiarism) or knowingly furnishing false information to the University by
forgery, alteration, or misuse of University documents, records, or identification. Academic
dishonesty includes, but is not limited to, the following examples: permitting another student
to plagiarize or cheat from one’s own work, submitting an academic exercise (written work,
printing, design, computer program) that has been prepared totally or in part by another,
acquiring improper knowledge of the contents of an exam, using unauthorized material
during an exam, submitting the same paper in two different courses without knowledge and
consent of professors, or submitting a forged grade change slip or computer tampering. The
faculty member has the authority to grant a failing grade in cases of academic misconduct as
well as referring the case to Student Life.
Plagiarism:
You are expected to submit your own work and to identify any portion of work that has been
borrowed from others in any form. An ignorant act of plagiarism on final versions and minor
projects, such as attributing or citing inadequately, will be considered a failure to master an
essential course skill and will result in an F for that assignment. A deliberate act of plagiarism,
such as having someone else do your work, or submitting someone else’s work as your own
(e.g., from the Internet, fraternity file, etc., including homework and in-class exercises), will at
least result in an F for that assignment and could result in an F for the course.
Electronic Devices:
Use of electronic devices including smart watches and cell phones is prohibited during
exams or quizzes unless directly allowed by the instructor.
Course Mapping:
Read:
Starting with C++ Participate:
• Chapter 1 (LO3, LO4, LO5)
• Unit 1 (LO3, LO4, LO5) • Discussion board post (LO3, LO4,
• Unit 2 (LO3, LO4, LO5) LO5)
• Peer Responses (LO3, LO4, LO5)
Watch:
• C++ Tutorial for Beginners - Learn Assignments:
C++ in 1 Hour (LO3, LO4, LO5)
(1:22:55) • Assignment 1 (LO3, LO4, LO5)
• C++ Tutorial For Beginners | C++
Programming | C++ | C++ Basics |
C++ For Beginners | Simplilearn
(LO3, LO4, LO5) (26:29)
Read: Participate:
Memory, Arrays and Pointers
• Chapter 4 (LO1, LO4, LO5) • Discussion board post (LO1,
• Pointers in C (LO1, LO4, LO5) LO4, LO5)
• Peer Responses (LO1, LO4,
Watch: LO5)
• Pointers in C / C++ [Full Course]
(LO1, LO4, LO5) (3:47:22) Assignments:
• Relationship between Arrays and
Pointers in C++ with Example • Assignment 4 (LO1, LO4, LO5)
(LO1,LO4, LO5) (7:07)
Week Four: Operator Overloading (LO2,5)
Learning Activities and Materials Assessments
Read: Participate:
Operator Overloading
• Chapter 10 (LO2, LO5) • Discussion board post (LO2,
• C++ Operator Overloading (LO2, LO5)
LO5) • Peer Responses (LO2, LO5)
Watch: Assignments:
• Operator Overloading In C++ |
What Is Operator Overloading In • Assignment 5 (LO2, LO5)
C++? | C++ Programming |
Simplilearn (LO2, LO5) (18:37)
• C++ Tutorial 12 : Operator
Overloading & File I/O (LO2, LO5)
(28:29)
Week Five: Functions and STL (LO3,4)
Learning Activities and Materials Assessments
Read: Participate:
C++ Functions/STL
• Chapter 5 (LO3, LO4) • Discussion board post (LO3,
• Chapter 8 (LO3, LO4) LO4)
• Peer Responses (LO3, LO4)
Watch:
• C++ STL Tutorial | C++ STL Assignments:
Algorithm Tutorial | C++
Programming Tutorial For • Assignment 6 (LO3, LO4)
Beginners | Simplilearn (LO3, LO4)
(25:58)
• C++ Tutorial 13 : Advanced
Functions (LO3, LO4) (18:26)
Week Six: Overview (LOs)
Learning Activities and Materials Assessments
Read: Participate:
Exception Handling in C++
• Chapter 13 (LO4, LO5) • Discussion board post (LO4,
• Chapter 10 (LO4, LO5) LO5)
• Peer Responses (LO4, LO5)
C++ Programming using Qt
• C++ With Qt Programming Tutorial Assignments:
(LO4, LO6)
• Assignment 7 (LO4, LO5)
Watch: • Case Study on Qt Graphics (LO4,
• Exception Handling - C++ Tutorial LO6)
For Beginners #18 (LO4, LO5)
(7:27) Assessment:
• Exception Handling In C++ | What Final Exam (LO1, LO2, LO3, LO5
Is Exception Handling In C++ | LO4, LO6)
C++ Programming | Simplilearn
(LO4, LO5) (17:22)
• Qt Tutorials For Beginners 1 -
Introduction (LO4, LO6) (10:14)
• Qt Tutorial : C++ Notepad App (LO4,
LO6) (38:17)
References:
https://www.youtube.com/watch?v=I96uPDifZ1w
https://www.youtube.com/watch?v=TGOXttOoI0U
Banas, D. (2019). C++ tutorial 12: Operator overloading and file I/O [Video]. YouTube.
https://www.youtube.com/watch?v=gc7Eqba1c5g
Banas, D. (2019). C++ tutorial 10: Object oriented programming [Video]. YouTube.
https://www.youtube.com/watch?v=ZOKLjJF54Xc
Programming.https://www.alternative-computer-programming.com/cplusplus-with-qt-
tutorial-index.html
https://www.youtube.com/watch?v=zuegQmMdy8M
Green, D., Guntheroth, K., & Mitchell, S. (2020). The C++ workshop: Learn to write clean,
maintainable code in C++ and advance your career in software engineering. Packt
Publishing.
Grimes, R. (2017). Beginning C++ programming: Modern C++ at your fingertips! Packt
Publishing.
Hosey, P. (2010). Everything you need to know about pointers in C. Retrieved on January 3,
LearningLad (2014). Relationship between arrays and pointers in C++ with example [Video].
YouTube. https://www.youtube.com/watch?v=LcHTSDm82pY
NeuralNine (2020). Exception handling – C++ tutorial for beginners #18 [Video]. YouTube.
https://www.youtube.com/watch?v=5MI2N8yLdMI
YouTube. https://www.youtube.com/watch?v=EkjaiDsiM-Q
Programming with Mosh (2022). C++ tutorial for beginners – Learning C++ in 1 hour [Video].
YouTube. https://www.youtube.com/watch?v=ZzaPdXTrSb8
https://learn.saylor.org/course/view.php?id=65§ionid=14948
https://www.youtube.com/watch?v=7hcQQEHZPiQ
https://www.youtube.com/watch?v=m4au_rXy6rc
https://www.youtube.com/watch?v=edfATDog-LQ
https://www.youtube.com/watch?v=vIcOhM_Vkc4
https://www.youtube.com/watch?v=McojvctVsUs
https://en.wikibooks.org/wiki/C%2B%2B_Programming/Operators/Operator_Overload
ing