Basic Course Information
Course Name: CSC16178A Computer Sci II: (C++)
Course Sections: Period 1 : C161-65819-78A
Semester: Spring 2021
Prerequisites/Co-requisites: CSC160 C++
Meetings/Times: Mon-Thu 7:50 AM – 8:45 AM
Location: HS – 228
Instructor: Wayne Cook, Head of Computer Science Department, CECFC
Office Phone: (970) 337-0044
Email: [email protected]
College Web Site: www.frontrange.edu
HS Web Site: https://fortcollins.coloradoearlycolleges.org
Office Location: CEC-FC HS 228
Office Hours: Monday through Thursday (4th period), by appointment 5th period
Department Contact: N/A
C++ Programming: From Problem Analysis to Program Design (MindTap Course List) 8th Edition by D. S. Malik – ISBN-13: 978-1337102087
Windows 10 (Linux or MacOS are also workable)
- Windows 10: Visual Studio 2019 C++ – Community Edition (can download for free).
- Linux or MacOS: Visual Studio 2019 Code C++ (can download for free).
- The Course Plan is at the bottom of this page.
You need at least two ways to store your files, a USB Flash drive, GitHub, D2L, e-mailing it to yourself, your hard drive (at home), or student storage (OneDrive). Put your name on all flash drives. Having a storage device fail or lost will NOT be an accepted excuse for turning in your assignments late. Most of the time you will be turning in assignments electronically through D2L.
Welcome to CSC161. This class introduces data structures. Classes, GUI, and more advanced programming practices. We use Visual Studio for code development, but the why is just as important as the how. If something is not clear, please ask questions. The last half of the semester, we will be developing code for the Unreal Engine 4 using C++. You will be using both UE4 and Visual Studio for code development.
CCCS Required Syllabus Information
Catalog Course Description
Continues algorithm development and problem solving techniques not covered in Computer Science I using a high-level programming language. Students are able to gain experience in the use of data structures and the design and implementation of larger software projects. Intensive computer laboratory experience is required for this course.
Course Learning Outcomes
- Demonstrate how to convert a binary number to a hexadecimal number.
- Input data from the computer keyboard using standard input and output commands via a programming language.
- Create a program that demonstrates the use of variables and constants.
- Develop and implement basic program elements of processes, loops, and sequences.
- Write a program using control structures, functions, and classes.
- Write and modify a program using array processing.
- Design a program that outputs processed data to the computer screen.
- Create a program using File I/O from a program specification.
- Develop a GUI program.
- Develop a program using Unreal Engine 4.
Additional Info: Typing skills are helpful. Students taking this course should allow additional time outside of class hours to complete assignments in the computer lab when classes are not being held OR have access to a computer that has Windows 10 and Microsoft Visual Studio – Community Edition
- Inheritance and Polymorphism
- Exception Handling
- Abstract Classes and Interfaces
- Virtual Functions
- List, Stacks, Queues, and Priority Queues
- Binary Search Trees
- Graphical User Interfaces
- Gaming with Unreal Engine 4
- (push) SCRUM (Agile) Programming
- (push) Multithreading and Parallel programming
Instructor’s Overview of the Course
This is a “hands-on” course, where I will give an overview of each new concept and book chapter. The book is only one resource and should be used as such. Use the internet to search for helpful hints. Talk with each other, especially when stuck on a particular concept. Please feel free to share your developing expertise with your classmates. Your grade is earned by your own efforts and is not based on a curve. If you help each other, you will gain better understanding of the subject and consequently will earn a better grade.
- Lectures: Important material from the text and outside sources will be covered in lectures. Not all material can be found in the text nor in the lecture. Students that miss class usually have trouble with the material. Students are responsible for everything that is covered in class. This means YOU need to find someone to take notes for you if you are not able to attend class. If you are absent, you need to let me know BEFORE class begins. I will be much more willing to help students get caught up if they keep me informed. If you are not in class and not excused, you will lose points.
- Lecture notes: On days where a significant amount of information is written on the white boards, you will need to take notes. The notes will be checked several times throughout the semester. Lecture notes grades count as assignments. Some students have found it useful to take pictures of what is written on the board for accuracy. This is allowed and even encouraged. BUT, you will need to transcribe it to handwriting. Printouts of pictures of the board or photocopies of other people’s notes will not count as correct. You can copy someone else’s notes.
- : This is used for tracking your grades.
- use D2L as a supplement for all of my programming classes. On it you will find all of the assignments, online quizzes, announcements and discussions. It is where you will turn in all of your assignments and comments on submittals will be made here. IC will be used strictly for tracking your grades.
- In class weekly quizzes: Many quizzes will be given to help ensure students stay abreast with assigned material. Weekly quizzes (on different days of the week) will be given in class; they can’t be made up, but you can be excused if you let me know you will be gone ahead of time. If you miss class and are not excused you will receive zero points for the day. For example if the quiz is worth 14 points and you don’t show up and are not excused you will have 0 points for the day. Five quizzes will be extra credit. You will be allowed a one page (8.5 x 11) cheat sheet for all quizzes and exams.
- Infinite Campus Quizzes: The Infinite Campus quizzes will allow you unlimited tries, but they will need to be done before the deadline. The quiz will show you your score but not which questions were right or wrong. If you don’t get 100%, you should review everything and try again. The answers are released after the due date.
- Homework Assignments: There will be many assignments, at least one per week. Late assignments will lose 10% for each day they are late, including weekends and breaks. You will be allowed to redo assignments to increase your score. After the due date, redone assignments will be given a late penalty of 10% on the corrected material, for each day after the day it is returned and after the deadline. For example, if your grade is a 70% and it is returned to you and you correct it and turn it back the following day and this time it is perfect, you would get a score of 97%. You lose 3 points, which is 10% on the 30 points that you corrected. (70 + 30 – 3 = 97) If there is a paper copy, you need to turn in the corrected copy and the old copy with the notes on what was incorrect.
- Homework redo: You may redo the assignment several times if needed. Any points that are not corrected on the next assignment will be doubled on the redo. On electronic copies you need to change the name to reflect the fact that it is a redo and turn it into the next available dropbox. The last day a redo is accepted will be when there are no points available or the last day of school. If you turn in work early, I will try to get it back to you so you can do a redo before the due date. I can NOT guarantee this will happen.
- Interview grading: Twice during the semester students will need to bring in their assignment and discuss what they did and how they did it. Just like other assignments students will be able to redo the assignment.
- Final project: Although the final project will be counted as a small part of the homework grade, the final project must be completed and presented or your grade will be dropped one letter. The final project is worth 2 homework assignments and the presentation is the same as ½ an assignment.
- Spelling and grammar: Spelling and grammar errors on typed information will cost you points. If I have spelling or grammar errors on typed information and you catch it, you will be given an extra credit quiz point. The first person that finds the error and posts it in the discussion on Desire2Learn will be given credit.
- Exams: Two midterm exams and a final will be given. The midterms will be primarily over recent material and the final will be comprehensive, with more emphasis placed on the material in the last part of the semester. You will be allowed a one page (8.5 x 11) cheat sheet for exams and quizzes.
- Minimum knowledge: In order to pass this class, by the end of semester you must be able to prove that you can write code that contains a loop, if statements, and functions without help and in a time constraint. Most people will accomplish this by the final exam.
- Professionalism: A part of this class is preparing you for your career. There will be at least two parts of the grade of the class that will be based on professional skills. The first is attendance and the second is the presentation at the end of the semester.
Graded Instructional Activities
Total points will be computed as follows. The total points for quizzes and assignments will vary.
|Activities||Contribution to Overall Grade|
Grading Scales and Standards
The grading scale for this class is:.
|A||90 – 100%|
|B||80 – 89%|
|C||70 – 79%|
|F||69% and lower|
NOTE: Borderline grades will be determined by the student’s work ethic. A good work ethic consists of regular class attendance, a good attitude, the ability to work independently and with a group; professional conduct and language; respect for the instructor, classmates, and other FRCC employees; and problem-solving skills.
Assignments will be expected on-time, turned into Infinite Campus. You will have one week to turn in each assignment. After that time, you will lose 10% of the grade for each week it is late.
Attendance and Participation
As per the CECFC Handbook: “All CECFC students are expected to attend school daily and to arrive punctually. Frequent absences undermine the sequential and incremental nature of the CECFC curriculum for the student; in addition, they place burdens on the teachers who must arrange for makeup work. Late arrivals disrupt the classroom.”
All students will come to class on time. If you are late, within the first 10 minutes of class, you will be marked tardy. If you are more than 10 minutes late, you will be marked as absent. However, I will put a time down with the absence so that the attendance team will be aware of when you arrived. As long as you come in quietly, coming to class will allow you to make up in-class projects, but not excuse the tardy or absence.
Students are permitted 5 unexcused absences per course, per semester penalty free, if all these absences are not “skipped” classes. More than 5 unexcused absences will result in a course grade reduction of 5%. Each additional unexcused absence will incur an additional 1% grade decrease.
Students are permitted 2 tardies per course, per semester penalty free. Upon incurring a 3rd tardy, the late instances will turn into an unexcused absence. Every 3 tardies afterward will count as an unexcused absence at the end of the semester and calculate into the grade deduction mentioned above.
You will be graded on your participation in class, this means being here on time, ready to learn and being respectful of classmates and the time allotted for this course. Leaving early, working on homework, reading for another class or packing up to leave before the end of class is not allowed.
Students are expected to uphold FRCC’s Student Code of Conduct relating to academic honesty and assume full responsibility for the content and integrity of the academic work they submit. The guiding principle of academic integrity will be that a student’s submitted work, examinations, reports, discussions, and projects must be that of the student’s own work and unique to the course. Students are guilty of violating the honor code if they:
- Represent the work of others as their own (this includes copying material from the Internet for discussion postings or other assignments without proper citation)
- Use or obtain unauthorized assistance in any academic work.
- Give unauthorized assistance to other students.
- Modify, without instructor approval, an examination, paper, record, or report for the purpose of obtaining additional credit.
- Misrepresent the content of submitted work.
- The penalty for violating the honor code is severe. Any student violating the honor code is subject to receive a failing grade for the course and will be reported to the Office of Student Affairs. If a student is unclear about whether a particular situation may constitute an honor code violation, the student should contact the instructor to discuss the situation.
Collaboration. Unless otherwise instructed, all work submitted is to be done individually by the student. This means you should not be working in pairs or in a group to write discussion posts, complete assignments or take quizzes and other assessments unless specifically asked to do so by your instructor.
Plagiarism / Dual Submission. Plagiarism, whether intentional or accidental, is academic dishonesty and may incur disciplinary action ranging from receiving a zero on an assignment or failing a course to more severe consequences. Plagiarism means
- Using someone else’s ideas and not correctly citing that use. This means that if you put someone else’s work into your own words, put it in your work, and do not correctly document it, the idea is plagiarized.
- Using someone else’s words without quotation marks and not correctly citing that use.
- Using someone else’s images or other works (such as from the Internet) without correctly citing that use.
- Submitting work that has been turned in for credit in another class or at another institution unless specifically permitted by your instructor.
- Students may be required to submit work that is evaluated for originality by Turnitin.com, a plagiarism detection software program that checks for certain forms of plagiarism.
We follow all CEC-FC and FRCC student policies(like no wearing hats in class). In addition, I have two primary rules:
- Treat each person in this room with the respect with which you would like to be treated.
- Except when in an organized group discussion, only one person speaks at a time.
- No food or drink is allowed in computer classrooms.
- No cell phones, pagers, or other items that would interrupt the class.
- Turn off computer monitors when they are not being used in the class.
Notice: It is expected that in college classes you will average 2 hours of study time for each hour in class. Programming can be very time-consuming, but the only way to learn the concepts completely is to code them. Many students claim they spend closer to 10 hours most weeks trying to get code working, some weeks are significantly more, but most students do not need to spend this much time in one week if they keep up with the material.
Disruptive Behavior: If a student engages in any disruptive behavior that negatively affects, disrupts, or impedes (1) the instructor’s ability to teach and/or (2) the other students’ ability to learn and/or (3) the general operation of the college, the student will be subject to disciplinary action.
Student of Concern: Front Range Community College provides faculty, staff and students a resource to report their concern about any member of the FRCC community. If you are concerned about yourself or someone else, please go to www.frontrange.edu/care and report.
Financial Aid: The following actions have eligibility implications for financial aid recipients: non-attendance, dropping courses, withdrawing from courses, repeating courses, academic progress, and the number of credit hours attempted and completed. You are strongly encouraged to seek financial aid advising throughout the term if you have any questions about eligibility implications.
Student Support Services: Students with a disability or in need of support services are encouraged to contact the learning resources and support programs on each campus to arrange for accommodations and support services. The link to the learning resources and support programs is: http://www.frontrange.edu/Current-Students/Learning-Resources-and-Support-Programs/ and the link to the disability services support information is: http://www.frontrange.edu/being-a-student/disability-services
Audio/Video Recording: A student granted permission by the instructor to make an audio or video recording may use the recording only for his or her own study and may not publish or post the recording on YouTube or any other medium or venue without the instructor’s explicit written authorization. All students in the class, as well as guest speakers, must be informed that audio/video recording may occur.
Non-attendance: At FRCC, we want you to succeed. To do so, you must attend class. If you do not attend class during the first two scheduled class sessions, you may be dropped from the course due to non-attendance. Students who are dropped must go through the late add appeal process, which includes securing the signatures of the instructor, Instructional Dean, and Campus Vice President to re-enroll after the add deadline for the course. Course re-enrollment is at the discretion of the instructor and it is unlikely you will be re-enrolled if you have not attended and participated in class.
Computer Ethics: A student will be subject to disciplinary action should he/she try to copy FRCC software or tamper with the network. Copying software is a copyright violation and is against the law. Also, please do not move computer equipment.
Online Learning Expectations
FRCC is committed to helping you succeed in your online courses. Please read the following section for a better understanding of expectations specific to online courses. If you have questions or concerns about course content and activities, contact your instructor right away. If you have questions or concerns related to support services or the student code of conduct, contact your Pathways Advisor or a member of the Online Learning team at 970-204-8250 or 303-404-5513. You can also email us ([email protected]).
Required Introduction to Online Learning
All students who are taking their first online course at FRCC are required to complete the “Introduction to Online Learning.” You will learn strategies for succeeding in online courses at FRCC, including how to use the online learning management system (D2L). Look for the “Introduction to Online Learning” under the “My Courses” heading on the home page when you login to D2L (https://frcc.desire2learn.com).
Interacting in Online Courses
Online classes provide opportunities for you to interact with your instructor and peers in a variety of online formats. Despite what is often modeled in public forums and social networks, civility and etiquette are important aspects in creating deep and meaningful learning. Personal attacks, monopolization, and bullying can stop valuable discussion and are harmful to academic discourse. For this reason, it is important that interaction in an online class is civil, respectful, and focused on the topic presented. If you notice behavior that violates this conduct, be sure to contact your instructor.
FRCC Online Attendance and Participation Policy
Students establish attendance in online courses by completing an academic activity based on course content. As defined by the Federal Department of Education, merely logging into the course site or introducing oneself to the class does not count as attendance. Some examples of successfully attending class include participation in a content-related discussion, quiz, assignment, or contacting your instructor. Students who have not participated by 11:59 PM on the deadline date will be dropped. Similarly, the last date of academic attendance must be reported to Financial Aid for students who do not earn a D or better; students who have not been in regular attendance may experience financial aid ramifications.
Online Proctored Exams
This course requires one or more proctored exams, either at an FRCC Testing Center, through an online proctoring service , or at another pre-approved location. Students who are unable to come to an FRCC Testing Center should contact their instructor and the FRCC Testing Center during the first week of class to arrange another option.
Before taking an exam at an FRCC Testing Center or other proctored location, plan to:
- Bring a photo ID.
- Arrive at the FRCC testing center early enough to allow enough time to complete the exam before it closes.
- Work around busy periods in the semester, there can be an extra wait for a testing space to come available during common testing times.
FRCC Testing Center hours and proctoring information are available online (https://www.frontrange.edu/campuses/testing-centers).
Campus Closure Procedure
If Colorado Early Colleges closes due to inclement weather or another emergency, online courses will proceed unless Desire2Learn and/or Infinite Campus is impacted. If you experience particular hardship or problems completing the course as a result of an emergency, contact your instructor or call Online Learning at 970-204-8250 or 303-404-5513.
FRCC’s Online Courses are hosted by Desire2Learn, and may incorporate other online materials (e.g. publisher content and open educational resources). As an online student, you are responsible for ensuring that you have a reliable internet connection and the necessary equipment to access your online course(s) and any required course materials listed in the course syllabus. Computer failure or problems with internet access are not considered valid excuses for not completing coursework, so be sure to have a backup plan in place so that you can still complete your work on time even if you run into technical problems. Local libraries and computer labs on campuses can be great alternatives, but be sure to check on hours and availability.
For technical assistance with Desire2Learn, contact the Help Desk which is available 24 hours every day: (http://help.cccs.edu); 888-800-9198 (toll free). Desire2Learn is available 24×7, with the exception of limited maintenance windows posted on the home page. In the unlikely event of an unplanned D2L outage, faculty and staff will be informed so that they can make reasonable adjustments to the course schedule and assignment deadlines.
Student Rights, Responsibilities, and Resources
For important information on rights and responsibilities of all FRCC students, as well as the many support resources available to you, please refer to the link to “Student Rights, Responsibilities and Resources” in the online course shell. Topics include:
- Course Questions
- Access to Course Materials
- Student Email
- Student Drop for Non-Attendance
- Student Drop for Non-Payment
- Financial Aid
- Academic Assistance
- Disability Support Services
- Use of Audio / Video Recordings
- Crisis Counseling and Stress Management
- FRCC Cares
- Notice of Non-Discrimination
- Mandatory Reporting (Title IX)
- Student Code of Conduct
- Philosophy of Inclusion
- First Day of Class: 5 January (Tuesday)
- Martin Luther King Birthday (no school) 18 January (Monday)
- Non-Attendance Reporting Deadline: 22 January (Friday)
- Payment Deadline: N/A
- Last Day to Drop with Refund: 3 February (Wednesday)
- President’s Day (no school) 15 February (Monday)
- Graduation Application Deadline: N/A
- Spring Break: 15-19 March – Enjoy the week!
- Student Feedback Forms Distributed: 18-22 April
- Last Day to Withdraw with “W”: 24 April (Sunday)
- Student Feedback Forms Returned: 1 May (Sunday)
- Last Day of Class: 11 May (Tuesday)
The following table includes the coursework planned for this class.
|Week 1||Orientation, introduction of teachers and students, class overview||Review Visual Studio C++|
|Week 2||Chapter 6 User Defined Functions (347)||Exercise 1 (453)|
|Week 3||Chapter 8 Arrays and Strings (521)||Exercise 7 (605)|
|Week 4||Chapter 9 Records/Structures (611)|
Create struct described in problem 2.
|Exercise 2/3 (644)|
Create 3 struct array
|Week 5||Chapter 10 Classes and Data Abstractions (651)||Exercise 11 (738)|
|Week 6||Chapter 11 Inheritance & Composition (743)||Exercise 4 (812)|
|Week 7||Chapter 12 Pointers, Classes, Virtual Functions, and Abstract Classes (817)||Exercise 5 (891) two weeks to complete|
|Week 8||Midterm Project||Complete Exercise 5|
|Week 9||Chapter 13 Overloading and Templates (893)||Exercise 1 (981)|
|Week 10||Chapter 14 Exception Handling (991)|
Chapter 18 Stacks and Queues (1209)
|Exercise 1 (1033)|
Exercise 9 (1306)
|Week 11||Spring Break||Enjoy!|
|Week 12||Introduction to Unreal Engine 4 and Blueprint||Small Project using Blueprint|
|Week 13||Introduction of C++ and UE4 integration using Visual Studios||Small C_++ /UE4 project|
|Week 14||File Handling within UE4 and C++|
|Week 15||Research projects Decide on Teams for Final Project||Summary of projects researched|
|Week 16, Session 1||Decide on Project Topic||Project Proposal/Team|
|Week 16, Session 2||Work on Final Project Proposal|
Include list of team members
|Week 16, Session 3||Start work on Final Project Proposal|
Include list of team members
|Week 16, Session 4||Q&A about Project||Project|
|Week 16, Session 5||Work on Final Project Proposal|
Break up project and code sections
|Week 17, Session 1||Turn in detailed plan||Project|
|Week 17, Session 2||Work on Final Project||Project|
|Week 17, Session 3||Final Exam||Project|
|Week 17, Session 4||Work on Code||Project|
|Week 17, Session 5||Project PowerPoint Presentation||Project|
|Week 18, Session 1||Finalize Project Finalize project & demonstrate||Project|
|Week 19, Session 2||Finalize project & demonstrate||Project|