Loyola College in Maryland

CS 631 - Computing Fundamentals II
Spring 2005


Loyola College > Department of Computer Science > CS 631
News

2/15/05: Late policy for programming assignments: you will lose 15% per day for a late assignment. Assignments will not be accepted more than 4 days after the specified due date.

2/17/05: A sample solution to Programming Assignment 1 has been posted on the assignment description page.


Homework Assignments | Programming Projects | Examples | Lectures

Instructor: Dr. Dawn Lawrie
Office: Donnelly Science Center 125b
Work Phone: (410)617-2140
Office Hours: M 2-4, W 12-2, before and after class at the graduate campus as needed, or by appointment
e-mail: lawrie<at>cs<dot>loyola<dot>edu

Course Home Page: http://www.cs.loyola.edu/~lawrie/CS631/S05/index.html

Class Meeting: Lecture Tu 5:30-7:40PM

Prerequisite: CS 630: Computing Fundamentals I
Incoming students should have:

Required Text: Carrano, Frank, Data Abstraction and Problem Solving with C++: Walls and Mirrors (4th ed.), Addison-Wesley: Boston, MA, 2005. Supplementary Text: Deitel, H. M. and P. J. Deitel, C++ How to Program , Prentice Hall: Upper Saddle River, NJ, 2003. (Any edition is fine)

Recommended IDE: Microsoft Visual C++ 6.0 (available with Deitel and Deitel, 4th Edition).
If you do not have a development environment, you may be successful with JGRASP, which is the environment used in our undergraduate program. To install:

  1. Download and install the C++ compiler from Borland.
  2. Download and install jGrasp. GRASP homepage (you want the jGRASP exe without the Java JRE).
  3. When you run jGrasp, you will need to change the compiler settings. Go to Settings-> Compiler Setting -> Global (or Workspace). Select C++ from the pull down menu. Click on "Borland BCC 5.5 - Windows" and then click "Use". At the bottom of the window, your current environment should be "Borland BCC 5.5 - Windows". Then click "Ok".

Course Description:
This course provides an intermediate level introduction to the fundamentals of structured programming, object-oriented programming, and generic programming in the C++ language. Key topics include recursion; pointers; dynamic memory allocation; file processing; simple time complexity analysis; and elementary data structures such as stacks, queues, linked lists, and binary trees.

Specific Educational Objectives of the Course:
Upon completion of the course, students will:

Conduct of the Course:
Lectures will be used to introduce, explain, and practice using new materials. Reading from the textbook will enhance your understanding of those lectures. Weekly homework assignments (not necessarily done at a computer) will reinforce the concepts discussed in lecture. The computer portions of the assignment will be submitted to me via email and used to provide feedback on programming technique and style. Homework assignments, programming projects, and exams will be used to ascertain your performance in the course. Unless prior arrangements are made, the homework and the programming projects must be submitted by their announced due-dates, or be subject to a grading penalty. All programming will be submitted using email. Two exams and a final exam will also be used to evaluate students' progress.

Academic Integrity:
Loyola College Honor Code Statement:

"The Honor Code states that all students of the Loyola Community have been equally entrusted by their peers to conduct themselves honestly on all academic assignments.

The students of this College understand that having collective and individual responsibility for the ethical welfare of their peers exemplifies a commitment to the community. Students who submit materials that are the products of their own minds demonstrate respect for themselves and the community in which they study.

All outside resources or information should be clearly acknowledged. If there is any doubt or question regarding the use and documentation of outside sources for academic assignments, your instructor should be consulted. Any violations of the Honor Code will be handled by the [Graduate Program Director]."

The Honor Code as is pertains to this class:
In general, any copying of an assignment, whether electronically or by hand is considered plagiarism. Students submitting non-trivial projects with identical structure will be considered to have acted dishonestly. Such students may be reported to the Graduate Program Director. At the very least, two or more students presenting assignments identical in all important aspects will share the points from a single grade.

Grading:

Final Grade Distribution:
Final letter grades will be no worse that those in the following table.

A

A-

B+

B

B-

C+

C

90%

87%

83%

80%

77%

73%

70%

Course Outline of Class Lectures:

Week Number
Date
Topics Text Reference Material Due
1 1/18 Review of C++ Programming Concepts Appendix 1
2 1/25 Programming Principles
Software Engineering
Chap 1 Hwk 1
3 2/1 Recursion Chap2 Hwk 2
4 2/8 Data Abstraction Chap3 Hwk 3
5 2/15 Linked-Lists Chap 4 PA 1
6 2/22 More Linked-Lists Chap 4 Exam 1
7 3/1 More Recursion Chap 5 Hwk 4
8 3/15 Stacks Chap 6 PA 2
9 3/22 Stack Applications Chap 6 Hwk 5
10 3/29 Queues
Chap 7
PA 3
11 4/5 Advanced C++ Topics Chap 8 Exam 2
12 4/12 Binary Search Trees Chap 10 Hwk 6
13 4/19 Algorithmic Efficiency and Sorting Chap 9 Hwk 7
14 4/25 More Trees
Review
Chap 10 PA 4
15 5/2 Final Exam Final