SCMP 118 - Introduction to Programming

Instructor: James Skon

Fall 2015


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.

Instructor Information

  • James Skon
  • Tutor: Madison Hoffman,
  • Office Hayes Hall 305
  • Office Hours: Tuesday 12:00-1:00, Thursday 2:30-3:30
  • Phone: (740) 427-5369, (740) 358-9417 (Cell)
  • Textbook: Problem Solving with C++ 7th ed, by Walter Savitch.
  • Room and Time: Hayes Hall 311, 1:10-2:30 Tuesday and Thursday


Course Calendar

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

Date Required Reading Notes Code Samples Quiz Slides CodeLab Programming Assignment Due
Aug 27 Chapter 1 - Introduction to Computers and C++ Programming. Our Computing Environment       Ch1.ppt    
Sept 1 Chapter 1.3-1.4 and C++ Programming. Our Computing Environment. Trying C++, using CodeLab


CodeDay2   Day2.pptx    
Sept 3 Chapter 2.1-2.2 - C++ Basics (Variables, Assignments, I/O) Notes3 CodeDay3 Link ch2-2.1-2.ppt First Exercises Lab 0 Chapter 1
Sept 8 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 10 Chapter 3.1-3.3 - Boolean Expressions, Branches, Loops Notes5 CodeDay5 Link ch_03.ppt   Lab 1-1 Chapter 2
Sept 15 Chapter 3.3-3.4 - More on Loops Notes5 CodeDay5 Link ch_03.ppt Boolean Expressions Conditionals Loops Constants Multiway If-Else Switch Loops Iteration Constants Lab 1-2 Chapter 2
Sept 17 Chapter 4.1-4.2 - Introduction to Functions Functions Code Link ch4.1-3.ppt    
Sept 22 Chapter 4.3-4.6 - Procedural Abstration, Local Variables, and Overloading Names. Functions2 Code Link ch_04.4-6.ppt Functions
Type casting
Lab 2 Chapter 3
Sept 24 Chapter 5.1-5.3 - void Functions, Call-By-Referance, Procedural Abstration   Code link CH_5.1-3.ppt    
Sept 29 Chapter 5.3-5.5 - Procedural Abstration, debugging Creating random numbers     CH_5.4.ppt Void functions Call-By-Referance Lab 3 Chapter 4
Oct 1 Chapter 7.1-7.3 - Arrays, Arrays with Functions   Code link Ch7.1-3.ppt    
Oct 6 Chapter 7.1-7.3 - Arrays, Arrays with Functions       Ch7.1-4.ppt Arrays, Array Techiques Lab 4 Chapter 5
Oct 8 No class, October Break            
Oct 13 Midterm Exam            
Oct 15 Chapter 7.1-7.3 - Arrays, Arrays with Functions   Code       Lab 5 Chapter 7
Oct 20 Chapter 7.3-7.4 - Programming with Arrays, sorting, Multidimensional Arrays   Code   Ch7.1-4.ppt    
Oct 22 Guest Speaker Ashleigh Zarley (ITS), Lab work           Lab 6 Chapter 7
Oct 27 Chapter 8.1, 8.2 - C-Strings and String class StringNotes1 Code   Ch8.1-2.ppt Strings  
Oct 29 Chapter 8.2 - String class   Code Link      
Nov 3 Chapter 8.3,10.1 Vectors, structures StructNotes Code Link Ch8-3.ppt, Ch10.1.ppt   Lab 7 Chapter 7
Nov 5 Chapter 10.2 - Intro to Object Oriented Concepts, structures ClassNotes1 Code   IntroObjects.ppt    
Nov 10 Chapter 10.2, 10.3, Classes,   Code   Ch_10_2-3.ppt Class Definitions  
Nov 12 Chapter 10.3, 6.1, 6.2 - ADT's, File I/O   Code Link Ch_06.1-3.ppt   Lab 8 Chapter 8
Nov 17 Chapter 6.2, 6.3 - Character I/O, Array's with Classes     Link Ch_06.1-3.ppt    
Nov 19 Chapter 11.1,11.2,11.3 - Friend Functions, Overloading   Code   ch_11.ppt   Lab 9 Chapter 10
Nov 24-26 No Class, Thanksgiving Break            
Dec 1 Chapter 11.2, 11.3 - Arrays and Classes, Dynamic Arrays   Code   ch_11.ppt    
Dec 3

Chapter 12.1 Separate Compilation
Special Speaker - Doug Karl, creator of the Apple Airport*

  Code Link DougKarl.ppt, ch_12.ppt    
Dec 8 Chapter 14.1, 14.2 - Recursion, The Binary Search Algorithm

Binary Seach, Merge Sort

Code Link ch14.ppt    
Dec 10 Towers of Hanoi -Example, Program Code   ch14.ppt Recursion  
Dec 16 No Final Exam , Final Project only           Final Project

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.


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).


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.

1) Go to OR
2) Click "Register for CodeLab"
3) choose "I am a student in a course ..." and click CONTINUE
4) enter the Section Access Code:
and click CONTINUE
5) continue filling out the forms being careful to enter
a VALID email address and first and last names
(these will appear in the professor's roster)

1) Go to OR
2) Click "Login to CodeLab "

the username is the email address given during registration
the password is the password selected during registration

Once registered, students can submit solutions to 10 exercises.
To be able to work with all exercises, the student needs to obtain full access:

log in to CodeLab
click LOBBY
click the button "Get Full Access"
follow the directions (options include paypal, ecommerce, check for
a $2 handling fee, and payment keys)

Grade allocation

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


Topic attachments
I Attachment Action Size Date Who Comment
Pptppt CH_5.1-3.ppt manage 453.5 K 2015-09-24 - 03:58 JimSkon  
Pptppt CH_5.4.ppt manage 266.5 K 2015-09-29 - 04:28 JimSkon  
Pptppt Ch1.ppt manage 30635.0 K 2015-08-27 - 15:31 JimSkon  
Pptppt Ch10.1.ppt manage 711.0 K 2015-11-01 - 16:17 JimSkon  
Pptppt Ch7.1-3.ppt manage 563.0 K 2015-10-01 - 16:45 JimSkon  
Pptppt Ch7.1-4.ppt manage 766.0 K 2015-10-05 - 18:55 JimSkon  
Pptppt Ch8-3.ppt manage 238.5 K 2015-10-29 - 05:02 JimSkon  
Pptppt Ch8.1-2.ppt manage 1574.5 K 2015-10-27 - 09:13 JimSkon  
Pptppt Ch_06.1-3.ppt manage 562.5 K 2015-11-12 - 12:52 JimSkon  
Pptppt Ch_10_2-3.ppt manage 565.5 K 2015-11-09 - 03:41 JimSkon  
Pptppt Day2.ppt manage 5878.0 K 2015-09-01 - 17:02 JimSkon  
Pptxpptx Day2.pptx manage 6082.5 K 2015-08-30 - 17:42 JimSkon  
Pptppt DougKarl.ppt manage 579.5 K 2015-12-03 - 03:54 JimSkon  
Pptppt IntroObjects.ppt manage 1280.5 K 2015-11-01 - 16:18 JimSkon  
Pdfpdf Pearson.Problem.Solving.with.C.7th.Ed.Walter.Savitch.2009.pdf manage 6284.7 K 2015-08-30 - 11:30 JimSkon  
Pptppt ch14.ppt manage 2373.5 K 2015-12-10 - 02:24 JimSkon  
Pptppt ch2-2.1-2.ppt manage 966.5 K 2015-09-03 - 04:06 JimSkon  
Pptppt ch2.3-5.ppt manage 1012.5 K 2015-09-07 - 01:43 JimSkon  
Pptppt ch4.1-3.ppt manage 1105.5 K 2015-09-17 - 14:44 JimSkon  
Pptppt ch_03.ppt manage 2479.0 K 2015-09-14 - 01:54 JimSkon  
Pptppt ch_04.4-6.ppt manage 568.0 K 2015-09-20 - 20:57 JimSkon  
Pptppt ch_11.ppt manage 729.0 K 2015-12-01 - 04:04 JimSkon  
Pptppt ch_12.ppt manage 1823.5 K 2015-12-03 - 03:59 JimSkon  
Pngpng kenyonlogo.png manage 5.0 K 2015-08-24 - 11:00 JimSkon Kenyon Logo
Topic revision: r82 - 2015-12-10 - JimSkon
This site is powered by the TWiki collaboration platformCopyright &© by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback