Course Syllabus


CMIS 140 

Introductory Programming (DE)

Dates:    27 January  - 16 May  2003  Credits:   3 Semester Hours
Instructor:  Kerry Painter Prerequisites:  CMIS 102  or equivalent knowledge
Email:   kpainter@faculty.ed.umuc.edu Instructor's Web Page:   faculty.ed.umuc.edu/~kpainter

Course Description:

This  course  is the second course in a sequence of courses covering programming using the C++ programming language.  Students are expected to have already taken and passed CMIS 102, the first course introducing structured programming techniques.  We will continue learning about structured programming using C++ and will  explore the world of object-oriented programming.  Object-oriented concepts such as classes and encapsulation will be looked at and implemented in programming assignments.

Some of the topics discussed in the course include the following: 


Textbook:

 

The following textbook is required for the course:

 

Programming and Problem Solving with C++ 

 

Third Edition

 

by Nell Dale, Chip Weems, and Mark Headington

References:

There are innumerable Internet sources available on programming and the C++ language.  We'll explore many of them.

There are many excellent computer technology news sources and a compiled list will be presented in the classroom.


Objectives:

        After successful completion of the course, a student should be able to:

See the first page of each chapter in our text for more goals.


Grades:

        Grades for this course will be based on:
 

Programming Projects 20%
Group Study Projects (algorithms) 10%
Other Homework/Participation 5%
Chapter Quizzes 5%
Midterm Exam (proctored) 30%
Final Exam (online) 30%

        and will be assigned as follows:
 

A   90 to 100 (outstanding scholarship)
B   80 to 89  (good scholarship)
C   70 to 79  (satisfactory scholarship)
D   60 to 69  (marginal performance)
F Less than 60  (academic failure)

Study Groups:

Each student will be assigned to a study group consisting of two to four students.  The group assignments will be made by the instructor.  Each student is expected to participate in joint group projects.  

Programming Projects:

A number of programming projects will be assigned.   You will have about two weeks to complete each project.  Students should be prepared to spend a substantial amount of time outside of class preparing assignments (programs) and studying for the quizzes and tests.

Homework

Weekly homework assignments will include the following:   Internet readings, posting solutions to exercises assigned from the textbook, and so on.

Quizzes:

Short, online quizzes covering the terms and concepts of each chapter will be given.  You can expect one for each chapter.

Software Needed:

Since may have already taken CMIS 102  you are probably already using a compiler.

There are free C++ compilers available over the Internet.   A free compiler that has proven quite popular with students is the Bloodshed Dev-C++ 4.0 compiler.  You can download it from the following site: 

http://www.bloodshed.net/dev/devcpp.html

You'll need to download version 4.0 and then the upgrade 4.01.  There's a beta version of 5.0 available at this site.  Maybe we can experiment with that.  I have found that students prefer the Bloodshed compiler because it is so easy to learn and use.  I highly recommend you give it a try.

You can find other sites that offer the compiler on the Internet by doing a search on its name.   I highly recommend this compiler.

Exams:

Two exams are scheduled:  a midterm and a final. The midterm exam will cover the material that we cover in the first half of the term and the final exam will cover the material since the midterm.

The midterm exam and final exam will consist of a variety of questions related to programming.  While the  quizzes will test for understanding of terminology and concepts, the exams will assess your programming knowledge.  The problems on the two exams will be very similar to the problems found in the exercises at the end of each chapter:  Quick Check, Exam Preparation Exercises, Programming Warm-Up Exercises.  (Hint!)

The midterm exam must be taken at your local education center.  It is a proctored exam.  We will coordinate the details of taking it early on.

The final exam will be conducted online and will be  an "open-book, take-home" exam.  The exam will be posted online during the last week of the term and you will have 48 hours to complete it.

Participation:

WebTycho participation involves responding to conference topics and postings by other students in a timely fashion.  How often should you post?  It can vary.  Each conference topic requires a well-thought-out or well-researched posting (your response).  You should also post thoughtful responses each week to other students postings.  You'll have plenty of opportunity to do this.  Don't go overboard with postings.  That would be equivalent to dominating a discussion in a traditional classroom.  

HTML Documents:

Many of your postings in the classroom must be an HTML document.  These are easily produced using programs like MS FrontPage, Netscape Composer, and Dreamweaver.  There are many others.  Netscape Composer is free when you download Netscape 7.  Dreamweaver can be downloaded for a trial period.  All three of these programs offer an easy to use WYSIWYG (what you see is what you get) interface and there's minimal need to manipulate HTML tags.  Get your copy of one of these programs as soon as possible and start learning how to use it.  For a tutorial on the basics of HTML visit my faculty web page:  faculty.ed.umuc.edu/~kpainter.

 


Tentative Schedule:
 
 

Week

Topic Reading Assignment

1

27 January - 2 February

 

Introductions

 

 

 

2

3 - 9 February

 

Introduction to Programming:  Review of Chapters 1 - 3

 

 

Introduction to Programming

Chapter 1

Chapter 2

Chapter 3

 

Module 1

 

3

10 - 16 February

 

Introduction to Flow Control:  Review of Chapters 4 - 6

 

 

Introduction to Flow Control

Chapter 4

Chapter 5

Chapter 6

 

Module 2
 

4

17 - 23 February

Functions

 

Scope, Lifetime, and More on Functions


Flow Control and Program Structure

Chapter 7

 

Chapter 8

 

 

Module 3

 

5

24 February - 2 March

Additional Control Structures

Flow Control and Program Structure

Chapter 9

Module 3

 

6

3 - 9 March

Simple Data Types:  Built-In and User-Defined

 

Data Management

Chapter 10

 

 

Module 4 
 

7

 

10 - 14 March

 

Midterm Exam (Chapters 1 - 10)

(proctored locally)

Break

15 -28 March

 
8

 31 March - 6 April
 

Structured Types, Data Abstraction, and Classes

 

Data Abstraction

Chapter 11

 

 

Module 5

 

9

7 - 13 April
 

Arrays

Data Management

Chapter 12

Module 4 
 

10

14 - 20 April
 

Array-Based Lists

Chapter 13

 

11

21 - 27 April
 

Object-Oriented Software Development Chapter 14
 
12

28 April - 4 May
 

Pointers, Dynamic Data, and Reference Types

 

Enrichment:  Pointers

 

Chapter 15

 

 

Module 6

13

5 - 11 May 

Linked Structures

 

Templates and Exceptions

Chapter 16

 

Chapter 17

 

14

12 - 18 May
 

Final Exam (Chapters 11 - 17)

(take-home online)

 

 


Biography of Instructor:

Kerry Painter earned his BA degree in Chinese-Vietnamese Language Studies from the University of Hawaii in Honolulu. Before attending the University of Hawaii, he studied electrical engineering at Clemson University, attended the 47-week North Vietnamese language course at the Defense Language Institute in Monterey, California, and worked as a linguist for the Army Security Agency in both Vietnam and Korea.

For six years after college graduation he worked in radio news as a reporter, writer, announcer, news director, and manager in Hawaii, Texas, and Delaware.  He earned an MS degree in Technical and Science Communication and an MS in Computer Science from Drexel University in Philadelphia.

Kerry did doctoral studies at Drexel and has taught a variety of computer science and mathematics courses at Drexel University, Penn State University,  Elizabethtown College, and Swarthmore College, all in Pennsylvania.  He joined The University of Maryland European Division in January 1989 and has taught  at SHAPE in Belgium, Soesterberg Air Base and AFCENT in Holland, Aviano Air Base in Italy, and at several German locations:  Augsburg, Bad Kreuznach,  Bamberg, Baumholder,  Berlin,  Geilenkirchen, Giebelstadt, Hahn, Hanau, Heidelberg, Kapaun (Vogelweh - Kaiserslautern), Kitzingen, Mannheim, Ramstein, Schweinfurt, Spangdahlem,  Wiesbaden, and Wuerzburg.

Return to Kerry Painter's Home Page