Untitled

Web Schedules

Fall 2024
Spring 2024
Summer 2024

One Credit Courses

Fall 2024
Spring 2024
Summer 2024

No Cost Textbook/Resources Courses

Fall 2024
Spring 2024
Summer 2024

Low Cost Textbook/Resources Courses

Fall 2024
Spring 2024
Summer 2024

Course Planning by Program

2024-25

Essential Objectives

Course Syllabus


Revision Date: 09-Jan-24
 

Spring 2024 | CIS-2032-VO01 - C/C++ Programming II


Tutorial Class


Location: Online
Credits: 3 (45 hours)
Day/Times: Meets online
Semester Dates: 01-23-2024 to 05-06-2024
Last day to drop without a grade: 02-11-2024 - Refund Policy
Last day to withdraw (W grade): 03-24-2024 - Refund Policy
This course has started, please contact the offering academic center about registration

Faculty

Gary Savard
View Faculty Credentials

Hiring Coordinator for this course: Deb Grant

General Education Requirements


This section meets the following CCV General Education Requirement(s) for the current catalog year:
VSCS Digital and Technical Literacy
    Note
  1. Many degree programs have specific general education recommendations. In order to avoid taking unnecessary classes, please consult with additional resources like your program evaluation, your academic program catalog year page, and your academic advisor.
  2. Courses may only be used to meet one General Education Requirement.

Course Description

Students learn computer programming using the structured programming language C and its object-oriented derivative C++. Language concepts will include variables, data structures, pointers, conditional and looping constructs, functions, objects, properties and methods. Specific object-oriented programming (OOP) concepts such as encapsulation, inheritance, and polymorphism are explained. Emphasis is placed on solving problems using well written algorithms, producing readable program documentation and creating programs that are user friendly and produce neat, attractive output. Prerequisite: C/C++ Programming I.


Essential Objectives

1. Identify the components of a well written algorithm and write accurate and complete algorithms.
2. Explain the various language concepts (e.g., variables, pointers, structures, conditional statements, loops and arrays) and use them to solve programming problems.
3. Write programs in C or C++ that include classes, methods, and inheritance.
4. Discuss the considerations involved in producing user friendly programs.
5. Design a program which produces a clean, easily understood printed report.
6. Demonstrate the use of a Graphical User Interface (GUI) in C++ programs.
7. Identify the class, objects and functions of created data structures.
8. Design a C/C++ program which includes input/output functions, if/then/else statements, loops, data structures, classes, and methods.


Required Technology

More information on general computer and internet recommendations is available on the CCV IT Support page. https://support.ccv.edu/general/computer-recommendations/

Please see CCV's Digital Equity Statement (pg. 45) to learn more about CCV's commitment to supporting all students access the technology they need to successfully finish their courses.


Required Textbooks and Resources

CIS-2032-VO01 Link to Textbooks/Resources Information for this course in eCampus.

The last day to use a Financial Aid Advance to purchase textbooks/books is the 3rd Tuesday of the semester. See your financial aid counselor at your academic center if you have any questions.


Evaluation Criteria

Assignment and Project Rubric

Rubric

Programming Assignment Rubric

Programming Assignment Rubric

Criteria

Ratings

Max Pts

Program Specifications/ Correctness

Exceeds; No errors, program always works correctly and meets the specifications.

50pts

Meets; Minor details of the program specification are violated, program functions incorrectly for some inputs.

42.5pts

Nearly Meets; Significant details of the specification are violated, program often exhibits incorrect behavior.

37.5pts

Does Not Meet; Program only

functions correctly in very

limited cases or not at all.

30pts

50

Readability

Exceeds; No errors, code is clean, understandable, and well- organized.

20pts

Meets; Minor issues with consistent indentation, use of whitespace, variable naming, or general organization.

17pts

Nearly Meets; At least one major issue with indentation, whitespace, variable names, or organization.

15pts

Does Not Meet; Major

problems with at least three

or four of the readability

subcategories.

12pts

20

Documentation

Exceeds; No errors, code is well-commented.

20pts

Meets; One or two places that could benefit from comments are missing them or the code is overly commented.

17pts

Nearly Meets; File header missing,

Complicated lines or sections of code uncommented or lacking meaningful comments.

15pts

Does Not Meet; No file

header or comments present.

12pts

20

Code Efficiency

Exceeds; No errors, code uses the best approach in every case.

5pts

Meets; Minor errors present and improvements in efficiency can be made.

4.25pts

Nearly Meets; Code uses poorly- chosen approaches in more than just a few places.

3.75pts

Does Not Meet; Many things

in the code could have been

accomplished in an easier,

faster, or otherwise better

fashion.

3pts

5

Assignment Specifications

Exceeds; No Errors

5pts

Meets; One or two minor details of the assignment specification are violated, such as instructions slightly misunderstood.

4.25pts

Nearly Meets; Multiple minor details of the assignment specification are violated.

3.75pts

Does Not Meet; Significant

details of the specification are

violated, such as extra

instructions ignored or

entirely misunderstood.

3pts


Grading Criteria

CCV Letter Grades as outlined in the Evaluation System Policy are assigned according to the following chart:

 HighLow
A+10098
A Less than 9893
A-Less than 9390
B+Less than 9088
B Less than 8883
B-Less than 8380
C+Less than 8078
C Less than 7873
C-Less than 7370
D+Less than 7068
D Less than 6863
D-Less than 6360
FLess than 60 
P10060
NPLess than 600


Attendance Policy

Regular attendance and participation in classes are essential for success in and are completion requirements for courses at CCV. A student's failure to meet attendance requirements as specified in course descriptions will normally result in a non-satisfactory grade.

  • In general, missing more than 20% of a course due to absences, lateness or early departures may jeopardize a student's ability to earn a satisfactory final grade.
  • Attending an on-ground or synchronous course means a student appeared in the live classroom for at least a meaningful portion of a given class meeting. Attending an online course means a student posted a discussion forum response, completed a quiz or attempted some other academically required activity. Simply viewing a course item or module does not count as attendance.
  • Meeting the minimum attendance requirement for a course does not mean a student has satisfied the academic requirements for participation, which require students to go above and beyond simply attending a portion of the class. Faculty members will individually determine what constitutes participation in each course they teach and explain in their course descriptions how participation factors into a student's final grade.


Missing & Late Work Policy

Late Policy

Homework up to 1 week late, 10% penalty, unless pre coordinated with the instructor. After 1 week, the assignment shall be graded as 0%. Documented extenuating circumstances excepted. Please be proactive with your work and when you do not understand an assignment. I can be contacted via phone or text 7 days a week. 802 318 8514. If I do not answer, leave a text and NOT a voice mail.

Use of Artificial Intelligence in this Course:

Use of AI in this course is not allowed for completing assignments, projects or discussions. Use of AI will result in a 0 score for any work that utilizes AI and any instances of use will be reported to CCV as cheating.

Why not use AI?:

I am a Subject Matter Expert (SME) in AI and can tell you that it is not sentient, it is not smarter than humans, it is only as good as the data set that it utilizes and the algorithms used to analyze the data.

While we use AI in real world programming, we do not use is to complete our work. An engineer must have a solid understanding of how to program and the concepts involved with solving problems. That cannot be done through use of AI to generate answers. AI typically writes poor code or even code that is not correct. As an engineer, we may use a tool like CoPilot that suggests possible solutions but we need to know whether the solution presented is correct, efficient and bug free. Only a human has the ability to judge those criteria, so software engineering will not go away, it will just be supplemented with AI. In order to become an effective software engineer, the only path is to study hard and put in the effort.

Getting your first job:

I have been in this industry for nearly 40 and have interviewed for many jobs and also been interviewed more times that I can count. A typical entry level programming interviewer(s) will not look at your transcript (even more so now that an easy 'A' grade can be obtained with AI.), they will ask you very difficult technical questions. You may even be given a programming test without access to the internet, so it is vital that you learn all you can while you are in school! Programming is a difficult subject for most of us when we start out, but the learning curve does flatten out as you progress.

Can I use AI at all in the course?

Yes you can, but not to do your graded work! For example, there may be a concept in the book or in course code that you do not understand. It is ok to paste that code into ChatGPT or another AI in order to get another explanation of the code. (Please remember that AI can "Hallucinate" and give wrong answers, or come up with a partially correct answer, so be careful!) You are always welcome to post to the discussion forums in those instances. A fellow student or I can give you another perspective. Finally, feel free to call or text me 7 days a week. My number will be in an announcement.


Accessibility Services for Students with Disabilities:


CCV strives to mitigate barriers to course access for students with documented disabilities. To request accommodations, please
  1. Provide disability documentation to the Accessibility Coordinator at your academic center. https://ccv.edu/discover-resources/students-with-disabilities/
  2. Request an appointment to meet with accessibility coordinator to discuss your request and create an accommodation plan.
  3. Once created, students will share the accommodation plan with faculty. Please note, faculty cannot make disability accommodations outside of this process.


Academic Integrity


CCV has a commitment to honesty and excellence in academic work and expects the same from all students. Academic dishonesty, or cheating, can occur whenever you present -as your own work- something that you did not do. You can also be guilty of cheating if you help someone else cheat. Being unaware of what constitutes academic dishonesty (such as knowing what plagiarism is) does not absolve a student of the responsibility to be honest in his/her academic work. Academic dishonesty is taken very seriously and may lead to dismissal from the College.