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, hoffmanm@kenyon.edu
- 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
Resources
- CodeLab – A Web Application for learning coding in C++. This is required and costs $25. See below for information on how to login and purchase.
- CodeBlocks – Integrated Development Environment (http://www.codeblocks.org/). Will use in class. May download on your own computer for work elsewhere.
- ideone – Web interface allows you to write and text code anywhere, from any machine, online. You must select C++.
- CodePad – Another web interface to programming in C++.
- Team Selector – Students
- Dealing with character data for a numeric input
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 | Notes2 | 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 Integers Other Expressions Techniques1 | |
| 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 | Class Tutorial I | Link | Ch_06.1-3.ppt | |||
| Nov 19 | Chapter 11.1,11.2,11.3 – Friend Functions, Overloading | Class Tutorial II | 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.
Disabilities
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).
