Course Web page: http://faculty.elgin.edu/mpelczarski
Name: Mark Pelczarski
Phone: (847) 214-7498
Office: ICT-124
Campus E-mail: mpelczarski@elgin.edu
Office/Lab hours, Fall 2010:
Monday 4:00-6:00pm
Tuesday 12:45-2:00pm
Wednesday 12:45-6:00pm
Thursday 12:45-2:15pm
Class Hours:
Section 100: 11:00-12:40 Tues/Thurs, ICT-131
Section 200: 6:00-9:40pm Mondays, ICT-128
Recommended Text:
Problem Solving with C++, Savitch; Addison-Wesley Publishing
(same book as used in CIS121)
Older editions are acceptable. You can get 5th and 6th editions for less than $10!
CollegeSwapShop.com
AbeBooks.com
Search for author "Savitch" and title "Problem Solving with C++"
Also recommended: USB Flash drive
Recommended(if you plan to use a computer at home): Visual C++ Express Edition. This is a free download from Microsoft, and it is also available through the Computer Science department.
This course will extend your knowledge of programming and of the C++ language. You will learn about object-oriented programming, and you will learn a variety of data storage structures, including stacks, queues, linked lists, trees, and heaps. You will learn to use dynamic memory allocation. We will also use and compare a variety of searching and sorting algorithms.
The assignments will be a mixture of practice problems and actual programs that you write. Of these, there will be approximately six programming assignments. You may not always get every assignment 100% complete and correct, but it is essential that you hand in at least your partial work each week, because most of your grade will be based on your performance on assigned programs. Late assignments will be accepted only for partial credit, as solutions will have already been discussed.
Assignments are due at the beginning of class on the due date. Anything turned in after that time is only for half credit.
You are encouraged to correct incomplete assignments and turn them in later for additional credit.
To give adequate time for final projects, grading, and corrections, all late assignments and corrections MUST be turned in prior to the final three weeks of the semester.
Each assignment MUST be entirely your own work. While you may discuss assignments with others, you should NEVER exchange code, write portions of someone else's program, nor modify someone else's code for your own program. Most of learning to program is learning how to design solutions and debug your code once it is written. Copying or collaborating defeats both those goals. The penalty for being caught is minimally a zero on the assignment for ALL PARTIES involved, and may be failure for the course or dismissal from the college.
In addition to assignments, you should expect several short quizzes and a final exam or project. The final will be worth approximately 15% of your grade; the remaining 85% will be points earned on your assignments and quizzes. Your grade will be based on the percentage of points you earn out of the total number possible, on the following scale:
90-100% is an A, 80-89.9% B, 70-79.9% C, 60-69.9% D.
You are expected to be in class. If you must miss, leave a message on my office phone (847)214-7498, or send me an e-mail at mpelczarski@elgin.edu. Unless previous arrangements have been made due to extenuating circumstances, after five absences the instructor has the right to drop you from the class with a failing grade.
1. Review of basic data types, arrays, references
2. Pointers, dynamic memory allocation
3. Binary searches
4. Evolution of programming, C++ structs to objects
5. Object Oriented Programming: writing simple objects
6. Stacks and queues
7. Overloading functions, constructors, default parameters
8. Destructors, template classes
9. Exception handling
10. Linked lists, doubly-linked lists
11. Overloading operators, copy constructors, friends
12. Algorithm complexity and efficiency, Big-O notation
13. Review of basic sorting and searching algorithms
14. Binary trees
15. Inheritance
16. Divide and conquer, "n log n" algorithms
17. Polymorphism