create new tag
view all tags

SCMP 118 - Introduction to Programming in C++

Sections 1 (1:10-2:30 TH) and 2 (2:40-4:00 TH)

Instructor: James Skon

Fall 2016

This course presents an introduction to computer programming intended both for those who plan to take further courses in which a strong background in computation is desirable and for those who are interested in learning basic programming principles. The course will expose the student to a variety of applications where an algorithmic approach is natural and will include both numerical and non-numerical computation. The principles of program structure and style will be emphasized. Offered every semester.

Course Information

  • James Skon
  • Office Hayes Hall 303
  • Office Hours: MTWHF 10:00-11:00
  • Phone: (740) 427-5369
  • Textbook: Problem Solving with C++ 8th ed, by Walter Savitch.
  • Room and Time: PRCL09, 1:10-2:30, 2:40-4:00 Tuesday and Thursday
  • Paperless: This course is intentionally paperless. All assignments are turned in online through Moodle. The instructor will normally not accept work written or printed on paper. (Any excepts must be pre-approved by the instructor).


  • Ghada Bakbouk
  • Email: bakboukg@kenyon.edu
  • Tutoring Sessions in Pierce PRCL09
    • Sunday 7:00-8:30pm
    • Thursday 7:00-8:30pm


Code Lab

CodeLab is a tool that develops coding skills and understanding through coding exercises. The best way to learn to program is to program! Just like the best way to learn to play a sport is to play that sport. CodeLab assignments are NOT accepted late.


Due Date: All assignments are due by midnight the day of due unless otherwise specified. There will be a 12 hour grace period during which the student will received a penalty equal to 5% of the value of the assignment; any assignments submitted more than 12 hours late will not be accepted. Exception: Each student may have a 24 hour extension on one lab and one history without penalty. This extension will be applied to the first assignment submitted outside the grace period (or retroactively used to cancel one grace-period penalty if not used by the end of the semester.)

Missing Lab Assignments: Labs are an important part of this class; the effort spent on them is a crucial part of the learning process. Failure to submit labs is unacceptable: students earning 0s on two assignments cannot receive a grade higher than a B- for the course; students earning three 0s will receive an automatic F for the course.

Collaboration: In order to facilitate learning, students are encouraged to discuss assignments amongst themselves. Copying a solution is not, however, the same as “discussing.'' A good rule of thumb is the “cup of coffee'' rule. After discussing a problem, you should not take away any written record or notes of the discussion. Go have a cup of coffee or cocoa, and read the front page of the newspaper. If you can still re-create the problem solution afterward from memory, then you have learned something, and are not simply copying. (The “group problems” are exempt from this, as they are intended to be done together.)

Computer History Assignments: Once a week you will turn in a brief essay on some computer history fact from the Computer History Museum (or other computer history source). One or two people people will be chosen each week to oraly describe what they found in 2 minutes at the beginning of class. I will ask for volunteers, but will cycle through everyone before I repeat anyone. The idea is give to us all an opportunity to explore the history of computer science, and to find something that interests each of us. Start by going to the computer history timeline, and for each assignment explore the requested years until you find something interesting. Then write up a 200-300 word essay about what you found, what you found compelling, and why you think it is significant. Write the essay in Moodle, and include a link to the item you found so it can be displayed while you share in class. These are due midnight before the day they will be presented (and appear in the calendar below). Late submissions will not be accepted on these assignments.

Course Grades

Category % Notes
History Essays 5% Equally distributed
Labs 45% Equally distributed
Quizzes 10% Equally distributed
Code Lab 15% All questions equal weight
Exams 25% Midterm 10%, Final 15%

Course Calendar

May be subject to change as course unfolds. Asways check here for latest update.

Date Required Reading Notes/Links Code Samples Quiz Slides CodeLab Assignment Due
Aug 25 Chapter 1 - Introduction to Computers and C++ Programming. Our Computing Environment TutorNotes1 CodeDay1   Ch1.ppt    
Aug 30 Chapter 1.3-1.4 and C++ Programming. Our Computing Environment. Trying C++, using CodeLab Notes2
Netbeans First Program
CodeDay2   Day2.pptx    
Aug 30 Evening (7:00) in Hayes 311. Help installing Netbeans on your Laptop.            
Sept 1 Chapter 2.1-2.2 - C++ Basics (Variables, Assignments, I/O) Notes3 CodeDay3 Link ch2-2.1-2.pptx First Exercises Lab 0 Chapter 1
Sept 3 Sunday Evening Tutor Session
Hayes 311 7:00-8:30
Sept 6 Chapter 2.2-2.5 - Data Types, Expressions, Flow Control, Style Notes4 CodeDay4 Link ch2.3-5.ppt Assignment,
Input And Output,
Other Expressions,
Sept 8 Chapter 3.1-3.3 - Boolean Expressions, Branches, Loops Notes5 CodeDay5 Link ch2.3-5.ppt
  Lab 1-1 Chapter 2
Sept 13 Chapter 3.3-3.4 - More on Loops Notes5 CodeDay5 Link ch_03.ppt Other Expressions,
Techniques1, Conditionals, Loops, Constants
Lab 1-2 Chapter 2
Sept 15 Chapter 3.3-3.4 - More on Loops Notes Code  
Sept 20 Chapter 4.1-4.2 - Introduction to Functions Functions Code1 Code2 Link ch4.1-3.ppt
Sept 22 Chapter 4.3-4.6 - Procedural Abstration, Local Variables, and Overloading Names. Functions2 Code Link CH_5.1-3.ppt Functions,
Type casting, Boolean Expressions, Multiway If-Else, Switch, Iteration


Lab 2 Chapter 3

Sept 27 Chapter 5.1-5.3 - void Functions, Call-By-Referance, Procedural Abstration Creating random numbers Code link CH_5.4.ppt Void functions, Call-By-Referance 1950-1954
Sept 29 Chapter 5.3-5.5 - Procedural Abstration, debugging       CH_5.4.ppt   Lab 3 Chapter 4
Oct 4 Chapter 7.1-7.3 - Arrays, Arrays with Functions   Code link Ch7.1-4.ppt   Lab 4-1 Chapter 5
Oct 6 No class, October Break            
Oct 11 Chapter 7.1-7.3 - Arrays, Arrays with Functions   Code     Arrays Lab 4-2 Chapter 5
Oct 13 Midterm Exam            
Oct 18     Code     Array Techiques Lab 5 Chapter 7 1955-1959
Oct 20 Chapter 7.3-7.4 - Programming with Arrays, sorting, Multidimensional Arrays StringNotes1 Code   Ch7.1-4.ppt
Oct 25 Multidimensional Arrays - Tick Tack Toe
Chapter 8.1, 8.2 - C-Strings and String class
  Code   Ch7.4.ppt
Lab 6 Chapter 7
Oct 27 Chapter 8.2 - String class   Code       1965-1969
Nov 1 Chapter 8.3,10.1 Vectors StructNotes C++ string reference Code   Ch8-3.ppt Strings  
Nov 3 Chapter 10.2 - Intro to Object Oriented Concepts, structures ClassNotes1 Code Link IntroObjectsc.ppt
  Lab 7 Chapter 7
Nov 8 Chapter 10.2, 10.3, Classes,   Code Link Ch_10_2-3.ppt   1975-1979
Nov 10 Chapter 10.3, 6.1, 6.2 - ADT's, File I/O   Code Link Ch_06.1-3.ppt
  Lab 8 Chapter 8
Nov 15 Chapter 6.2, 6.3 - Character I/O, Array's with Classes Classes Tutorial     Ch_06.1-3.ppt   1980-1984
Nov 17 Chapter 11.1,11.2,11.3 - Friend Functions, Overloading Shakespeare in class start activity Code Link ch_11.ppt   Lab 9 Chapter 10
Nov 22-24 No Class, Thanksgiving Break         Class Definitions  
Nov 29 Chapter 11.2, 11.3 - Arrays and Classes, Dynamic Arrays   Code   ch_11.ppt  


Extra Credit Tick Tack Toe

Dec 1 Chapter 12.1 Friend Functions, Overloading, inheritance In Class Activity Code Link ch_12.ppt   1990-1994
Dec 6 Chapter 14.1, 14.2 - Recursion, The Binary Search Algorithm Factorial, Binary Seach, Binary/Linear Compare, Sorting, Merge Sort Code, Merge Sort Link ch14.ppt   1995-1999
Dec 8 Towers of Hanoi - Example, Program Code   ch14.ppt Recursion 2000-2010
Dec 12 Final Exam Section 1: Final Project Demos
Monday, December 12 at 6:30 p.m.
Section 1: Demo Time Signup         Final Project
Dec 14 Final Exam Section 2: Final Project Demos
Wednesday, December 14 at 8:30 a.m.
Section 2: Demo Time Signup          
Assignments are due by midnight of the day due.

Academic Honesty

Any work you submit for credit in this course must result directly from your own understanding. Moreover, written work must be a creation of your own hand. Presenting the work of others as your own is strictly prohibited. At Kenyon we expect all students, at all times, to submit work that represents standards of academic integrity. It is the responsibility of each student to learn and practice the proper ways of documenting and acknowledging those whose ideas and words you have drawn upon (see Academic Honesty and Questions of Plagiarism in the Course Catalog). Ignorance and carelessness are not excuses for academic dishonesty. If you are uncertain about the expectations for academic honesty in this class, please ask for clarification.

It is likely that proof, algorithm and code solutions for most problems exist online. Generally you should not search for any of these solutions. If you do use online or written documents, you must fully disclose and reference everything used, and be prepared to lose some credit if the help is deemed to be beyond that which you should used. The rule of thump is you can use references to help understand the problems and terminology, but should not use (and copy or modify) complete or partial solutions found online.

If you use online resources, up to and including the use of code found on the internet, and do not disclose it, you will be subject to AIB notification.


If you have any disability and therefore may have need for some type of accommodation in order to participate fully in this class, please feel free to discuss your concerns in private with Erin Salva, Coordinator of Disability Services (phone 5145).

Statement on Title XI
Kenyon College seeks to provide an environment that is free of gender bias, discrimination, andharassment. If you have been the victim of sexual harassment/misconduct/assault,
interpersonal violence, or stalking we encourage you to report this. If you report this to a faculty member, she or he must notify Kenyon's Title IX coordinator of any information about the incident that you provide. Kenyon College's Title IX and VAWA Policy is available at: http://www.kenyon.edu/directories/offices-services/title-ix/policy/

Grade allocation

  • : ch2-2.1-2.pptx

Topic attachments
I Attachment History Action Size Date Who Comment
PowerPointppt CH_5.1-3.ppt r2 r1 manage 1236.5 K 2016-09-27 - 17:09 JimSkon  
PowerPointppt CH_5.4.ppt r1 manage 412.5 K 2016-09-27 - 17:09 JimSkon  
PNGpng C_-_shakespeare.png r1 manage 18.8 K 2016-11-08 - 05:43 JimSkon  
PowerPointppt Ch1.ppt r5 r4 r3 r2 r1 manage 35920.0 K 2016-08-30 - 02:47 JimSkon  
PowerPointppt Ch10.1.ppt r1 manage 711.0 K 2015-11-01 - 16:17 JimSkon  
PowerPointppt Ch7.1-3.ppt r1 manage 563.0 K 2015-10-01 - 16:45 JimSkon  
PowerPointppt Ch7.1-4.ppt r1 manage 2729.0 K 2016-10-04 - 17:06 JimSkon  
PowerPointppt Ch7.4.ppt r1 manage 750.0 K 2016-10-24 - 20:08 JimSkon  
PowerPointppt Ch8-3.ppt r1 manage 238.5 K 2016-11-01 - 17:13 JimSkon  
PowerPointppt Ch8.1-2.ppt r1 manage 1574.5 K 2016-10-25 - 17:07 JimSkon  
PowerPointppt Ch_06.1-2.ppt r1 manage 1988.0 K 2016-11-10 - 17:57 JimSkon  
PowerPointppt Ch_06.1-3.ppt r1 manage 562.5 K 2016-11-10 - 17:57 JimSkon  
PowerPointppt Ch_10_2-3.ppt r1 manage 1516.5 K 2016-11-08 - 15:42 JimSkon  
PowerPointppt Day2.ppt r1 manage 5878.0 K 2015-09-01 - 17:02 JimSkon  
PowerPointpptx Day2.pptx r2 r1 manage 5671.4 K 2016-08-30 - 02:52 JimSkon  
PowerPointppt DougKarl.ppt r1 manage 579.5 K 2015-12-03 - 03:54 JimSkon  
PowerPointppt IntroObjects.ppt r1 manage 1280.5 K 2015-11-01 - 16:18 JimSkon  
PowerPointppt IntroObjectsc.ppt r2 r1 manage 3297.0 K 2016-11-03 - 18:41 JimSkon  
PDFpdf Pearson.Problem.Solving.with.C.7th.Ed.Walter.Savitch.2009.pdf r1 manage 6284.7 K 2015-08-30 - 11:30 JimSkon  
PowerPointppt ch14.ppt r1 manage 2373.5 K 2016-12-06 - 17:51 JimSkon  
PowerPointppt ch2-2.1-2.ppt r1 manage 966.5 K 2015-09-03 - 04:06 JimSkon  
PowerPointpptx ch2-2.1-2.pptx r2 r1 manage 2890.0 K 2016-09-08 - 15:50 JimSkon  
PowerPointppt ch2.3-5.ppt r2 r1 manage 2108.5 K 2016-09-08 - 15:51 JimSkon  
PowerPointppt ch4.1-3.ppt r1 manage 393.0 K 2016-09-20 - 16:37 JimSkon  
PowerPointppt ch_03-1.ppt r1 manage 2032.5 K 2016-09-08 - 15:50 JimSkon  
PowerPointppt ch_03-Part3.ppt r1 manage 1587.0 K 2016-09-15 - 03:32 JimSkon  
PowerPointppt ch_03.ppt r1 manage 7247.5 K 2016-09-13 - 12:18 JimSkon  
PowerPointppt ch_04.4-6.ppt r2 r1 manage 3098.5 K 2016-09-22 - 15:59 JimSkon  
PowerPointppt ch_11.ppt r1 manage 2747.0 K 2016-11-17 - 16:05 JimSkon  
PowerPointppt ch_12.ppt r1 manage 1823.5 K 2015-12-03 - 03:59 JimSkon  
PNGpng kenyonlogo.png r1 manage 5.0 K 2015-08-24 - 11:00 JimSkon Kenyon Logo
PowerPointpptx kruskal.pptx r1 manage 623.3 K 2016-09-30 - 12:02 JimSkon  
Edit | Attach | Watch | Print version | History: r158 < r157 < r156 < r155 < r154 | Backlinks | Raw View | Raw edit | More topic actions
Topic revision: r158 - 2017-09-25 - JimSkon
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2017 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback