CECCR CSC119 Tuesday Thursday

This Course has been cancelled

Basic Course Information

Course Name: CSC119 Introduction to Programming (C++)
Course Sections: TuTh Period 1 : C119-65819-78A
Semester: Fall 2020
Credits: 3
Prerequisites/Co-requisites: None
Meetings/Times: Tue/Thu 8:45 AM – 9:55 AM
Location: Colorado Early Colleges Castle Rock Computer Lab

Note: This course is the introductory course for learning Computer Programming. There is much material to cover this semester, so the schedule is tight and requires work outside the classroom. Access to the community college’s D2L and the school’s Microsoft Teams account is required.

Instructor Information

Instructor: Wayne Cook, Head of Computer Science Department, CECFC
Office Phone: (970) 337-0044 (or Chat through Teams)
Email: Wayne.Cook@coloradoearlycolleges.org
College Web Site: www.arapahoe.edu
HS Web Site: https://castlerock.coloradoearlycolleges.org/
Office Location: RCS Computer Lab in the afternoon
Office Hours: M/W/F after 1:30 PM or by appointment
Department Contact: N/A

Course Materials

Starting Out with C++ Control Structures through Objects (Ninth Edition)-Tony Gaddis
ISBN: 9780134895734

Windows 10

Microsoft Visual Studio C++ – Community Edition (you can download this at home for free).

Microsoft Visio (or some other software to create flow charts)

You need at least two ways to store your files. These can include a USB Flash drive, emailing it to yourself, your hard drive (at home), GitHub, OneDrive, or submitting to D2L. 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 your Community Colleges D2L.

Welcome Message

Welcome to CSC119. This class introduces programming and good 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.

CCCS Required Syllabus Information

Catalog Course Description

Introduces computer program design using concepts of structured programming and logic. Includes pseudocode, flowcharts, and structure charts. Covers variables, data types, control structures, looping, program breaks, and arrays. (3 credit class, 45 contact hours).

Course Learning Outcomes

  1. Demonstrate how to convert a binary number to a hexadecimal number.
  2. Input data from the computer keyboard using standard input and output commands via a programming language.
  3. Create a program that demonstrates the use of variables and constants.
  4. Develop and implement basic program elements of processes, loops, and sequences.
  5. Write a program using control structures and functions.
  6. Write and modify a program using array processing.
  7. Design a program that outputs processed data to the computer screen.
  8. Create a program using File I/O from a program specification.

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

Topical Outline

  1. Introduction to Computers and Programming
  2. I/O, I/O, It’s Read and Write We Go (Input/Processing/Output)
  3. Modules
  4. Decision Structures and Boolean Logic
  5. Repetition Structures
  6. Functions
  7. Input Validation
  8. Arrays
  9. Sorting and Searching Arrays
  10. Files
  11. Menu-Driven Programs
  12. Text Processing
  13. Recursion
  14. Object-Oriented Programming (Covered after 8. Arrays)
  15. GUI Applications & Event-Driven Programming

Course Overview

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.

  1. 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.
  2. 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.
  3. Infinite Campus: I use Infinite Campus as a supplement for all of my classes. On it you will find all of the assignments, online quizzes, announcements and discussions.
  4. 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.
  5. 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.
  6. 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.
  7. 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 add the redo number to the name to reflect the fact that it is a redo and turn it into the D2L Assignment folder. 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.
  8. 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.
  9. 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.
  10. 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.
  11. 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.
  12. 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.
  13. 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.

ActivitiesContribution to Overall Grade
Quizzes10%
Assignments30%
Discussions20%
Midterm Exams20%
Final Project20%

[Edit1]

Grading Scales and Standards

The grading scale for this class is:.

Letter GradeRange
A90 – 100%
B80 – 89%
C70 – 79%
F69% 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 ACC employees; and problem-solving skills.

Late Policy

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.

Absence and Tardy Policy

In CECFC’s fast-paced, semester-based program, attendance is crucial for success. In the event of an absence, a guardian needs to communicate with the school attendance line. See the Student and Family Handbook for guidance on “excused absences”.  
 
In addition, regardless of the nature of the absences, a student’s first priority should be to check the school website for information about course work for the day and then to contact the instructor to communicate the absence and to create a plan for completing any missed work.  

Arriving in class prepared and ready to learn is also crucial. Students who are arrive after the start of class will be considered tardy. Please be conscientious of arriving on time as to not disrupt your classmates and to ensure you are prepared to learn for the entire period. Three tardies in a course will be viewed the equivalent of an absence.  

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.

Remote Learning Expectations 

When interacting online with the instructor and classmates, students are expected to uphold expectations of professionalism and respect. This includes emails, discussion boards, and live class meetings. Students are expected to uphold the following expectations in all school related platforms and interactions online: 

  • Share your ideas and differing opinions but do not attack others 
  • Keep an open mind to what others have to say 
  • Do not dominate the conversation. Focus on interacting and inviting others into the conversation. 
  • Avoid slang and use complete, edited sentences to communicate your ideas clearly.  
  • Use emojis, underlining, or bold words when appropriate to convey tone, but avoid using these excessively or negatively. 
  • Appropriate humor can be acceptable, but remember it can often be hard to interrupt online. Consider what you are posting before you post it.  
  • Stay on topic and only post what is appropriate for the class and particular learning activity 
  • Use the “Community” channel in Teams for other questions or to connect with classmates. 

The instructor reserves the right to delete inappropriate or off-topic comments or posts. If a student does not meet these remote learning expectations, he or she may also be referred to the Campus Culture team and/or Dean of Academics.  

Video Recording and Sharing 

Live classes via Teams and D2L will be recorded and provided for all students to access at a later time in order to accommodate students who are unable to attend class and for students to material if needed. All of these course materials provided online are the property of the instructor. This includes videos, voice recordings, pictures, handouts, slides, etc. The following are appropriate uses of all materials provided by your instructor via Teams, D2L, or email. 

  • Downloading videos/voice recordings for yourself to review in connection to the course 
  • Saving or printing files to assist yourself in completing course work 

Students cannot download, print, post, or use the course materials in any other way without written consent from the instructor. Ensure that you ask for permission prior to using or sharing the intellectual property of the instructor for any other purposes other than completing and understanding coursework.  

Tutoring 

Tutoring is available through the Wolf Den and highly encouraged for students at all levels needing or wanting support in their courses. Visit the Wolf Den in person or on the CEC website to make an appointment.

Academic Honesty

Students are expected to uphold ACC’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.

Class Rules

We follow all CECCR and ACC student policies(like no wearing hats in class). In addition, I have two primary rules:

  1. Treat each person in this room with the respect with which you would like to be treated.
  2. Except when in an organized group discussion, only one person speaks at a time.

Other

  1. No food or drink is allowed in computer classrooms.
  2. No cell phones, pagers, or other items that would interrupt the class.
  3. Turn off computer monitors when they are not being used in the class.
  4. If the class is taught remotely, it is preferred for the computer camera to be on.

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.

Program Expectations

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: Arapahoe Community College provides faculty, staff, and students a resource to report their concern about any member of the ACC community. If you are concerned about yourself or someone else, please contact https://www.arapahoe.edu/advising-support

 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:  https://www.arapahoe.edu/advising-support/student-support and the link to the disability access services information is: https://www.arapahoe.edu/advising-support/disability-access-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 ACC, 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 ACC 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

ACC 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 the Online Learning Support team at https://www.arapahoe.edu/advising-support/online-education-support

Required Introduction to Online Learning

All students who are taking their first online course at ACC are required to complete the “Introduction to Online Learning.” You will learn strategies for succeeding in online courses at ACC, 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 log in to D2L  go to https://www.arapahoe.edu/ and select “myACC.”

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.

ACC 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 ACC Testing Center, through an online proctoring service , or at another pre-approved location. Students who are unable to come to an ACC Testing Center should contact their instructor and the ACC Testing Center during the first week of class to arrange another option.

Before taking an exam at an ACC Testing Center or other proctored location, plan to:

  • Bring a photo ID.
  • Arrive at the ACC 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.

ACC Testing Center hours and proctoring information are available at https://www.arapahoe.edu/advising-support/testing-center

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.

Technical Difficulties

ACC’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 ACC 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
  • ACC Cares
  • Notice of Non-Discrimination
  • Mandatory Reporting (Title IX)
  • Student Code of Conduct
  • Philosophy of Inclusion

Course Schedule

Important Dates

First Day of Class: 7 August (Tuesday)
Non-Attendance Reporting Deadline: 
27 August (Thursday)
Payment Deadline: 
N/A unless failed course –
10 December( Tuesday)
Labor Day: 
7 September – no school
Last Day to Drop with Refund: 
8 September (Tuesday)
School Closed: 
15-16 October (Thursday/Friday) – no school
Student Feedback Forms Distributed: 
2-6 December
Graduation Application Deadline: 
N/A
Last Day to Withdraw with “W”: 
21 November (Saturday)- Course payment required
Thanksgiving Break: 
25-29 November – Enjoy Fall Break!
Student Feedback Forms Returned: 
6 December (Thursday)
Last Day of Class: 
15 December (Tuesday)

Course Plan

The following table includes the coursework planned for this class. Discussions require an initial post and comments on three posts from other students

WeekTopic
Week 1Orientation, introduction of teachers and students, class overview
Flow Charting
Week 2Introduction to Flowcharting Class develops flowchart for converting Fahrenheit <-> Celsius
Add Kelvin to mix and loop for multiple temperature conversions
Q&A over flowcharting
Game Day – Learn to play Mancala
Discussion – Computers on Saturn V
Quiz 1 -Take Home -Create a simple flowchart
Pseudocode
Week 3Introduction to Pseudocode
Pseudocode Temp (Fahrenheit/Celsius) conversion
Q&A over Pseudocode
Discussion – Pseudocode
Quiz 2 – Take Home – Create simple pseudocode
Visual Studio for C++
Week 4Introduction to Visual Studio C++ Program “Hello World!” in C++
Program – Add input of user name to program
Q&A over Visual Studio C++ and I/O
Discussion – Debugging and Development Environments
Quiz 3 – Take Home – Simple I/O code
Starting out with C++ From Control Structures through Objects (C2)
Week 5Labor Day – School Closed
Program – Ask user for the cost of a meal and % of tip, assuming 7% tax, calculate the total cost of the meal.
Discussion – What are the different data types in C++. Describe one.
Q&A over anything learned so far
Quiz 4 – Create Flow Chart and C++ code for asking price of item and printing total price with adding a 7.5% sales tax
Expressions and Interactivity (C3)
Week 6Include statements, special characters, and output. Variables, Literals, and Key Words. Basic loops
Program – Ask for the rainfall for 12 months, find total and average
Discussion – Career Choices
Q&A on Chapter 3
Quiz 5 – Ask for student’s numeric grade, end when negative number typed, find the class average.
Making Decisions (C4)
Week 7Review of flow charts for decision statements. Comparisons must be with similar types. Nested Decisions, if-else, Precedence, and numeric ranges. Validate user input and Switch Statements. Variable Scope
Program – Ask for numeric month (1-12) and year (i.e. 2020), calculate the days in the month (be extra careful on special leap years.
Discussion – Chapter 4 – Making Choices
Q&A on Chapter 4
Quiz 6 – Ask for the cost of an item ($0.01-$0.99). Find minimum number of coins needed to give change. List those coins.
Loops and Files (C5) – Loops Section of Chapter
Week 8Loops, Incrementing, Decrementing
Program 1 – Using Loops, develop a 14 x 14 multiplication table
Program 2 – Ask user for a year, using a loop ask for the rainfall for each month. Calculate the total rainfall for the year and the average rainfall.
Discussion – Deciding Which Loop to Use <\br>Q&A on Chapter 5 Loops
Quiz 7 – Importance of Loops and Incrementing/Decrementing Numbers
Loops and Files (C5) – File Section of Chapter
Week 9Using Files Program – Take rainfall program and add storage and retrieval of the information for multiple years. After reading the file, list the rainfall information for each year, including sum and average. Calculate overall sum and average. Allow the user to type in additional years and store everything back to the file.
Discussion – How would you use a file in a program? Why? How are loops used for reading and writing files?
Q&A on Chapter 5 File Usage
Quiz 8 – File Usage
Functions (C6)
Week 10Define and call functions, function types and return values, function prototypes, Pass data (By value/by reference), local and global variables, variable scope
Program – Start your Mancala program, write two functions that each take a number and a Boolean.
Function 1: Print solid line using ‘*’ of number length, add an enter if Boolean is true.
Function 2: Print dotted line of ‘*’ followed by four spaces. Number gives the number of these items needed; Boolean tells whether to add a ‘*” followed by an Enter
Main: Write a main program that prints one solid line; followed by 4 dotted liens with 8 dot items; followed by a line containing one dot, a solid line, and an end dot with end of line; followed by 4 dotted lines with 8 dot items; and then one solid line. Adjust the solid line numbers to make it look neat.
Discussion – Explain what global, local, and static variables are and how they differ and can be used together.
Q&A on Chapter 6 Function Definitions and Usage
Quiz 9 – Functions
Arrays and Vectors (C7)
Week 11How to set up and step through an array, array subscript is an offset from the base of the array, thus the first element is always zero. What is the difference between arrays and vectors?
Program – Continue your Mancala program, you will now add the needed information for people to see how the game is to be played.
Array – Create an array:
 int board[] = {4,4,4,4,4,4,0,4,4,4,4,4,4,0};
at the top of your main() function. Function: Create a printBoard() function that accepts a pointer to the array and prints the board (the code should already partly exist in the current main() program. In the middle two rows of the bottom four dotted rows, as the board index and the value of board[index] to the six slots to the right of the first column. In the last column print 7 and board[7] value. The last column represents Player 1’s Mancala. Repeat this process in reverse for player 2’s slots (top of board). Call printBoard() from main().
Discussion – What is the difference between arrays and vectors and how are each used?
Q&A on Chapter 7, arrays and vectors
Quiz 10 – Arrays and Vectors
Introduction to Classes (C13 & C14)
Week 12Purpose and use of classes, methods are functions in a class, attributes are basically variables defined and used in a class, inheritance, use of GitHub for projects, prototype (header) files, set/get methods for accessing attributes
Program – From GitHub, download the Shapes program with Classes and subclasses, look at the various Shape subclasses as well as the Shape class itself, design and write a definition of a new Shape inheriting from the Shape class, define how to calculate the perimeter and area of your shape, turn into GitHub
Discussion – Purpose and use of Classes
Q&A on Chapters 13-14 and GitHub
Midterm – Use of GitHub, Classes, Functions, Variables
Searching and Sorting Arrays (C8)
Week 13Purpose for sorting arrays, linear vs binary searches; types of sorts (brute-force, bubble, selection, and more); overloading the swap function; sorting and searching vectors
Program – Create an array of 10,000 5-digit random integers (0-99,999).
Sort 1: Reverse bubble, migrate the smaller number of each comparison backwards until the comparison finds a smaller number
Sort 2: Bubble sort
Sort 3: Selection Sort
Sort 3: Research sorts online, find one you think might work well, implement it
Calculate the execution time for each sort and compare.
Discussion – Read Section 8.4 and discuss the program concepts, concerns and design.
Mancala Continue (see instructions on the website)
Week 14 Read the instructions on the Website for Mancala Program – Be able to pick up all the stones in a slot on the appropriate players side and drop the stones one at a time until there are no stones left. Be sure to skip the opponent’s Mancala in the dropping of the stones. If the turn ends in the player’s Mancala, they get another turn to pick up another stack of stones on their own side.
Discussion – None
Q&A on Mancala
Quiz 11 – Name your team and project for the Final Project. Everyone on your team should have the same submittal.
Mancala – Part 3
Week 15Program – Complete the end game coding including capturing opponent’s stones in the slot opposite the last slot you drop your stones on a turn. Count the stones in each Mancala to see who wins
Discussion – Introduction to Scrum
Q&A on Mancala and Scrum
Quiz – Submit one file on GitHub for your project including project overview, team members, and proposed daily schedule
Final Project
Week 16Daily Submittals – Each day submit a file that describes, by person, what you accomplished the previous day and what do you plan to accomplish that day. Also include obstacles and insights.
Work on project and use GitHub to share accomplishments with other project members.
Create PowerPoint Presentation about your project which will be presented after Thanksgiving
Thanksgiving Break
Week 17Thanksgiving Break
Final Project Presentations
Week 18Project PowerPoint Presentation
Finalize Project
Week 19Present Working Project