Morehead State University

 

CIS - Computer Information Systems

CS - Computer Science

CMEM - Communications Electronic Media

BIS - Business Information Systems

MATH - Computing

EET - Electrical Engineering/ Electronics Technology

www.moreheadstate.edu

SCHEDULE

CIS-205 ONLINE

C/C++ Programming I

 

Fall 2003 - 3 cr - Dr. Kelley

 

Combs Bldg. CB-301

 

 

Fall Term: August 18, 2003 – December 12, 2003

 

 

Syllabus - Schedule And Assignments

 

CIS-205 C/C++ Programming I

 

This Schedule is enhanced and updated frequently.

It is the student's responsibility to check for any changes.

 

Schedule of Readings, Assignments and Due Dates

 

Week 1 – August 18 – August 22

Up Down

 

Week's Topics:

 

Welcome! To Poetry in Motion!

 

Programming made easy and fun!

“When I paint, I relax” Pablo Picasso

 

Course and Lab Orientation

 

Readings Due This Week:

  1. Read and understand the Course Syllabus, in particular:

 

    1. Course Pre-requisites and related documentation
    2. Student Success Factors
    3. Daily Study Skills & ‘blog (WebLog)
    4. Schedule of Assignments and Due Dates (this document)

 

  1. Review MATH-152 Algebra & CIS-200 Problem Solving

 

  1. Learn the Programming Example: greeter.h, greeter.cpp, and helloworld.cpp.

 

Work Due This Week:

  1. Get the book, setup your email account in Blackboard, ask questions, get your choice of compiler installed and running!

 

  1. Become familiar with the Blackboard course shell, in particular:
    1. Discussion Forum/FAQ (‘blogging and for questions all can share in)
    2. Gaddis Chapter Powerpoint Presentations
    3. Communicatons Tools (email, chat, to help build our online community)
    4. Weekly Tests.  Tests will be available to you in two-week rolling windows. You’re welcome to take your test at any time within this window. To help you study and score higher, you’re welcome to retake your weekly test as often as you want!

 

  1. You are welcome to your choice of compilers and IDE:
    1. gcc, gpp, cc and g++ (Linux/Unix/Mac OS X)
    2. Windows (Microsoft Visual 6.0, Visual.NET (C++, C#, VB))
    3. Visual Borland, or Borland Free Compiler (Windows)
    4. OpenSource (Eclipse, Java, ruby, python)

 

  1. You are responsible for the installation, configuration, and troubleshooting of your chosen compiler and IDE.  Remember, you will receive NO POINTS for programming projects that do not compile. Recommended: Professional File Editor (PFE32) and the Borland free compiler http://www.borland.com/bcppbuilder/freecompiler/ Both are simple, fast, and free! When installing, don’t forget to read the readme.txt’s bundled with the installation file .zip. You may also find the borland.installation.instructions.doc helpful.

 

  1. Download the Student Files for the Gaddis chapters.  The reading is more fun if you type along as you read!

 

 

Week 2 - August 25 – August 29

Up Down

 

Week's Topics:

Welcome and Introduction to Computer Programming

 

Visual.NET C++ Tutorials: Edit Box, Check Box, Radio Button, Dropdown Combo, List Box, Disk File Copy Dialog

Reading Due This Week:

Gaddis Chapter 1: Introduction to Computers And Programming

Work Due This Week:

Assignment 1: Submit the online Welcome Survey by midnight Wednesday August 27.

 

Other work due:

 

  1. Get your compiler to run your version of the HelloWorld Greeter example: greeter.h, greeter.cpp, and helloworld.cpp.

 

  1. Learn how to make daily entries in your Blackboard ‘blog!

 

Week 3 – September 1 – September 5

Up Down

There is no class on Monday September 1 in observance of Labor Day

 

Week's Topics:

Introduction to C++ Programming

Reading Due This Week:

Gaddis Chapter 2: Introduction to C++

Work Due This Week:

 

Last opportunity to provide written documentation to your instructor that you have previously satisfactorily completed the pre-requisite courses for this class, MATH 152 (or MATH 174 or MATH 175)  and CIS 200. Fax, email, mail, or hand-in!

 

Assignment 2:  Take Weekly Quiz 01 (Gaddis Ch 1 and 2) – Introduction to Programming by midnight Friday September 5.

 

‘blogging week 1/12 - Don’t forget to make at least 5 entries on 5 different days in your ‘blog this week! (25 points)

 

Week 4 – September 8 – September 12

Up Down

 

Week's Topics:

Introduction to Programming:

 

1.  Mathematical Expressions

2.  The power of Constants 

3. The parts of a C++ program, reserved keywords, parameters, return values

 

Reading Due This Week:

Gaddis Chapter 3: Expressions and Interactivity

Work Due This Week:

Assignment 3: Take Weekly Quiz 02 (Gaddis Ch 3) – Expressions and Interactivity by midnight Wednesday September 10.

‘blogging week 2/12  - Don’t forget to make at least 5 entries on 5 different days in your ‘blog this week! (25 points)

 

Week 5 – September 15 – September 19

Up Down

 

Week's Topics:

Structure (classes), Selection (if/else, switch/case), Repetition (for, do/while)

Reading Due This Week:

Gaddis Chapter 4: Making Decisions

Work Due This Week:

Assignment 4:  Submit Programming Mini Project 1 – Robot by midnight Wednesday September 17. Estimated man-hours for completion: 2-3.

Delivery Method: Submit a lastname.firstinitial.proj01.zip file using the Digital DropBox.

Task: Write a computer program that makes a Robot step its way through a figure eight pattern. Tip: This assignment is very similar to the HelloWorld Greeter example (greeter.h, greeter.cpp, and helloworld.cpp). One solution is to create a Robot class in robot.h and robot.cpp with three methods, turnLeft(), turnRight(), and step().  Then use MyRobot in an application file named android.cpp.

 

Assignment 5: Take Weekly Quiz 03 (Gaddis Ch 4) – Structure and Decision Making by Wednesday September 17.

 

‘blogging week 3/12 - Don’t forget to make at least 5 entries on 5 different days in your ‘blog this week! (25 points)

 

Week 6 – September 22 – September 26

Up Down

 

Week's Topics:

Decision Structures and Looping

 

1. if/else and switch() decision making

2. while, do/while and for() repetition loops

3. increment and decrement operators ++, --

4. counters and sentinels

 

Reading Due This Week:

Gaddis Chapter 5: Looping

Work Due This Week:

Assignment 6: Take Weekly Quiz 04 (Gaddis Ch 5) – Selection and Repetition by midnight Wednesday September 24.

‘blogging week 4/12 - Don’t forget to make at least 5 entries on 5 different days in your ‘blog this week! (25 points)

 

Week 7 – September 29 – October 3

Up Down

 

Week's Topics:

Classes and Class Functions (Methods)

Reading Due This Week:

1. Gaddis Chapter 13: Introduction to Classes

2. Gaddis Chapter 6: Functions

3.  Nifty Fifty Functions

Work Due This Week:

 

Assignment 7:  Submit Programming Mini Project 2 - Calculator by midnight Wednesday October 1. Estimated man-hours for completion: 3-4.

Delivery Method: Submit a lastname.firstinitial.proj02.zip file using the Digital DropBox.  Complete EITHER Option 1 OR Option 2, but not both!

 

Option 1: Add memory storage and display capability to the calculator application mycalc.cpp.  To help you, a set of starter files is provided: calculator.h and calculator.cpp.

 

Option 2: Add functionality to the list box of My Calculator so that when the user performs a calculation,the list box shows and highlights the result. To complete this task, you must dowload and unzip Calculator.Project.zip.  Also see Calculator.Project.doc for more information.

 

‘blogging week 5/12 - Don’t forget to make at least 5 entries on 5 different days in your ‘blog this week! (25 points)

 

 

Week 8 – October 6 – October 10

Up Down

 

Week's Topics:

Classes and Methods:

 

1. Defining classes and calling functions

2. Passing arguments to functions

3. Returning results from functions

Reading Due This Week:

Gaddis Chapter 13: Introduction to Classes (repeat!)

Work Due This Week:

 

Assignment 8: Take Weekly Quiz 05 (Gaddis Ch 6 and Ch 13) – Introduction to Classes and Methods by midnight Wednesday October 8.

 

 

‘blogging week 6/12 - Don’t forget to make at least 5 entries on 5 different days in your ‘blog this week! (25 points)

 

Week 9 – October 13 – October 17

Up Down

 

Week's Topics:

Arrays:

 

1. Defining and initializing arrays

2. Advantages of using arrays

3. Processing of array elements

4. Linear and Binary Array Searches

5. Bubble Sorting

Reading Due This Week:

1. Gaddis Chapter 7: Arrays

2. Gaddis Chapter 8: Array Searching and Sorting

Work Due This Week:

Assignment 9:  Submit Programming Mini-Project 3 by midnight Wednesday October 15.  Estimated man-hours for completion: 4-6.

Delivery Method: Submit a lastname.firstinitial.proj03.zip file using the Digital DropBox.

Task: Write a computer program that functions as an ATM cash machine.  Your program must at a minimum let the user make deposits, withdrawals, and balance inquiries.  Instructions and a set of example files for a .NET solution are provided. Have fun!

‘blogging week 7/12  - Don’t forget to make at least 5 entries on 5 different days in your ‘blog this week! (25 points)

 

Week 10 – October 20 – October 24

Up Down

 

Week's Topics:

Pointers, Stack and Heap Variables

Reading Due This Week:

1. Gaddis Chapter 9: Pointers

2. ptrdemo.cpp

Work Due This Week:

Assignment 10: Take Weekly Quiz 06 (Gaddis Ch 7 and 8) – Arrays by midnight Monday October 27.

 

Make sure you understand pointers and how to use them with heap and stack variables.

 

Plan your work carefully for the next few weeks, you have a number of heavy-duty assignments coming due soon!

 

‘blogging week 8/12 - Don’t forget to make at least 5 entries on 5 different days in your ‘blog this week! (25 points)

 

Week 11 – October 27 – October 31

Up Down

 

Week's Topics:

More Pointers, Stack, Heap, and Array Variables

Reading Due This Week:

1. Gaddis Chapter 10: Characters, Strings, and the string Class

2. Gaddis Chapter 11: Structured Data

3.  MSU Catalog: CIS, CS, BIS, EET, MATH , CMEM

4.  Career Options: Slide Show

5.  Syllabus: Section with Internet Links on Career

     Options

6.  Hyunday Plant & Job Skills

7.  Suggested Non-Business Courses

 

Work Due This Week:

Assignment 11: Take Weekly Quiz 07 (Ch 9 and Ch 11) – Pointers, Structures, Stack and Heap Variables by midnight Friday October 31.

 

‘blogging week 9/12  - Don’t forget to make at least 5 entries on 5 different days in your ‘blog this week! (25 points)

 

Week 12 – November 3 – November 7

Up Down

Advanced Registration for Fall 2003

 

Week's Topics:

Disk File Operations

Reading Due This Week:

1. Gaddis Chapter 3: Section 3.13 Simple File i/o

2. Gaddis Chapter 12: File Operations

 

1. File Operations filewrite.cpp, fileread.cpp, fileio.cpp, brackets.cpp

2. Passing parameters to main() at runtime: int main(int argc, char *argv[]) – example mycalc.cpp

 

Structured Data: chevy.cpp, carstructure.cpp, 

     queens.cpp, substring.cpp

Inventory Item Structure Example: carstructure.cpp

     structdemo.cpp

Work Due This Week:

Assignment 12:  Submit Programming Mini-Project 4 – Payroll by midnight Wednesday November 5. Estimated man-hours for completion: 5-7.

Delivery Method: Submit a lastname.firstinitial.proj04.zip file using the Digital DropBox.

Task: Write a computer program that calculates the weekly payroll for a 5 employee company.  Your program must at a minimum differentiate between hourly and salaried personnel, and make adjustments for hours worked, overtime and payroll tax deductions.  Instructions and a set of example files for a .NET solution are provided. Have fun!

 

‘blogging week 10/12 - Don’t forget to make at least 5 entries on 5 different days in your ‘blog this week! (25 points)

 

Week 13 – November 10 – November 14

Up Down

 

Week's Topics:

Virtual Functions, Abstract Classes, and Interfaces.

Reading Due This Week:

1. Gaddis Chapter 13: Introduction to Classes

2. Gaddis Chapter 15: Inheritance, Polymorphism, and Virtual Functions

Work Due This Week:

Assignment 13:  Submit Programming Mini-Project 5 - Warehouse by midnight Friday November 14.  Estimated man-hours for completion: 6-8.

Delivery Method: Submit a lastname.firstinitial.proj05.zip file using the Digital DropBox.

Task: Write a computer program that maintains the inventory for a small parts warehouse on disk.  Your program must at a minimum let the user add new parts, select a part and change its description, quantity on hand, purchase cost, and selling price.  Instructions and a set of example files for a .NET solution are provided. Have fun!

 

‘blogging week 11/12 - Don’t forget to make at least 5 entries on 5 different days in your ‘blog this week! (25 points)

 

Week 14 – November 17 – November 21

Up Down

 

Week's Topics:

Operator Overloading, Static Members

Reading Due This Week:

Gaddis Chapter 14: More About Classes

Work Due This Week:

 

Assignment 14: Take Weekly Quiz 08 (Ch 6, Ch 9, Ch 11, Ch 12, and Ch 13) by midnight Wednesday November 19. 

 

‘blogging week 12/12 - Don’t forget to make at least 5 entries on 5 different days in your ‘blog this week! (25 points).  Last week of ‘blogging!

 

Week 15 – November 24 – November 28

Up Down

Thanksgiving Break Wednesday November 26 – Friday November 28 – No Classes

 

Week’s Topics:

Review of Pointers and Classes: Combination and Inheritance

Reading Due This Week:

Re-read Gaddis Chapters 9, 13, 14, and 15

Work Due This Week:

Assignment 15:  Submit Programming Mini-Project 6 - Factory by midnight Tuesday November 25. Estimated man-hours for completion: 9-12.

Delivery Method: Submit a lastname.firstinitial.proj06.zip file using the Digital DropBox.

Task: Write a computer program for a car factory that assembles automobiles of three types: passenger cars, vans, and pickup trucks. Your program at a minimum must let the plant scheduler specify the type (gas or diesel) and number of cylinders (4, 6, 8) of the Engine, the make, model, and year of the vehicle, the number of doors, the number of  seatbelts, and the pickup bedLength.  Your factory must also be able to duplicate fleet vehicles, and provide driver functionality related to steering, starting, stopping, and accelerating.

 

 Instructions and a set of example files for a .NET solution are provided. Have fun!

 

 

Review all course information and materials related to Classes and Pointers

 

Week 16 – December 1 – December 5

Up Down

 

Week's Topics:

Course Review and Course Survey

Reading Due This Week:

Gaddis Chapters 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15

Work Due This Week:

 

1. Complete the CIS205 Online Course Survey.

 

2. Study for Comprehensive Final Exam (Gaddis Ch 1-15)

 

Week 17 – December 8 – December 12

Up

FINAL EXAM

 

Final Exam

Assignment 16: Submit your Final Exam (Gaddis Ch 1-15) by 1 pm Monday December 8, 2003.  Although the final exam is comprehensive (Gaddis Ch 1-15), the emphasis is on Chapters 6 (Functions), Chapter 9 (Pointers), and Chapters 13, 14, and 15 (Classes).