12/9/2003: The practice final is available.
12/9/2003: If you need help with removing non-alpha-numeric characters for the beginning and end of strings, code is now available in the project description for Programming Assignment 6
11/4/2003: The description of Programming Assignment 4 has been updated to include an example of a sample run.
11/3/2003: The due date for Programming Assignment 4 has been changed to Friday, November 7.
10/21/2003: The first part of Programming Assignment 4 is available.
10/3/2003: Homework 8 will not be due until Wednesday because the final midterm question about Binary Search will be completed in class on Monday.
9/26/2003: Programming Assignment 3 is available.
9/18/2003: Class has been cancelled for tomorrow. Please use any extra time to begin work on Programming Assignment 2.
9/9/2003: Practice 1 is available. Here are some more problems on memory addresses. I recommend you go over these problems if you are still unsure about addresses. I will post the answers in a few days.
9/9/2003: Homework 2 is available. Due 9/12/03.
9/8/2003: Office hours for this Friday only will be 10-11.
9/7/2003: Homework 1 is available. Due 9/10/03.
9/5/2003: Please note my office hours have changed.
9/5/2003: Please look at the Reference Information where I have added a link to the page to download putty which will enable you to access the linux machines from your PCs.
9/5/2003: Programming assignment 1 is available. Please look it over before Monday and come to class with questions.
Instructor: Dr. Dawn Lawrie
Office: DS 125b
Work Phone: (410)617-2140
Office Hours: M 12:00-1:00, T 10:00-12:00, W 10:00-11:00, F 1:00-2:00
e-mail: lawrie<at>cs<dot>loyola<dot>edu
Course Home Page: http://www.cs.loyola.edu/~lawrie/CS301/F03/index.html
Class Meeting: Lecture MWF 9-9:50 in KH 006
Prerequisite: CS 202
Corequisite: CS/MA 295
Required Text: C++ plus Data Structures (3rd
ed.) by Dale and Teague
Optional Text: LINUX Desk Reference (2nd
ed.) by Hawkins (not in the bookstore)
The C Programming Language (2nd ed.) by Kernighan and Ritchie
Course Description:
How does a search engine
process a query and return results in less than a second? In this course you will learn the answer to
this question through the exploration of methods of storing data using data
structures. We will design and build
these data structures using an object-oriented approach and the C++ programming
language. We will also analyze the
algorithms for efficiency in order to understand why the choice of a particular
data structure is such an important decision in the design of software,
especially for search engines. This
course also introduces you to a UNIX-based platform for programming.
Specific Educational Objectives of the Course:
Conduct of the Course:
Lectures will be used to
introduce, explain, and practice using UNIX, new features of C++, and new data
structures and algorithms. Reading from the textbook and handouts will enhance your
understanding of those lectures. Daily
homework assignments (not necessarily done at a computer) will reinforce the
concepts discussed in lecture. Those
concepts will be put into use in programming projects.
Two midterm exams and a final exam along with
homework assignments and programming projects will be used to evaluate
students’ progress.
Academic Integrity:
Loyola College Honor Code Statement:
“The Honor Code stats 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 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 Honor Council.”
The Honor Code as it pertains to this class: All designs and code used for programming projects should be the work of only the student submitting the project. Work on exams should be solely the work of the student whose name appears at the top of the exam.
Student Athletes:
If you are a student athlete,
please provide me with your travel and game schedule indicating when you will
need to miss class to participate in athletic events. While travel for athletics is an excused
absence, you will need to make up any missed work.
Learning Disabilities: To request academic accommodations due to a disability, please contact the Disability Support Services Office at (410)617-2062. If you have a letter from their office indicating that you have a disability which requires academic accommodations, please present the letter to me so we can discuss the accommodations that you might need in this class.
Grading:
Final Grade Distribution:
Final letter grades will be
no worse that those in the following table.
|
A |
A- |
B+ |
B |
B- |
C+ |
C |
C- |
D+ |
D |
|
93% |
90% |
87% |
83% |
80% |
77% |
73% |
70% |
67% |
60% |
Course Outline of Class Lectures:
|
Week Number Date (No. classes) |
Topics | Text Reference |
| 9/3-9/5 (2) |
|
Chap 1
EMACS handout |
| 2 9/8-9/12 (3) |
|
Chap2 |
| 3 9/15-9/19 (3) |
|
Chap 3 |
| 4 9/22-9/26 (3) |
|
Chap 4 |
| 5 9/29-10/3 (3) |
|
|
| 6 10/6-10/10 (3) |
|
Chap5 |
| 7 10/13-10/15 (2) |
|
Chap 5 |
| 8 10/20-10/24 (3) |
|
Chap 6 |
| 9 10/27-10/31 (3) |
|
Chap 7 |
| 10 11/3-11/7 (3) |
|
Chap 8 |
| 11 11/10-11/14 (3) |
|
Chap 9 |
| 12 11/17-11/21 (3) |
|
Chap 10 |
| 13 11/24 (1) |
|
|
| 14 12/1-12/5 (3) |
|
Chap 9 Chap 10 |
| 15 12/8-12/10 (2) |
|
|
| 16 12/19 |
|
Midterm Exams: Friday, October 3 and Friday, November 14
Final Exam: Friday, December 19
Department Picnic: Tuesday, September 16, 11-1 outside Donnelly Science near the Chapel