SYLLABUS HANDOUT for WELCOME TO METROPOLITAN COMMUNITY COLLEGE

advertisement
SYLLABUS HANDOUT
for
Winter, 2007–2008
Data Structures and Algorithms
INFO 2537 99
M • 6:00 p.m.–7:00 p.m.
Alan R. Reinarz
WELCOME TO METROPOLITAN COMMUNITY COLLEGE
Metro Community College
Page 1 of 7
Revised: May-03
SYLLABUS
METROPOLITAN COMMUNITY COLLEGE
SECTION I: THE CLASS AND THE INSTRUCTOR
COURSE SECTION AND TITLE:
INFO 2537 99
Data Structures and Algorithms
ACADEMIC YEAR/QUARTER:
Winter, 2007–2008
LOCATION OF CLASS:
SOC MAH 201F
LOCATION OF LABS:
Academic Resource Center at any campus or center
Instructor Name:
- Alan R. Reinarz
METRO OFFICES
HOURS*
M, W:
Th:
T:
F:
2:30p-3:30p
1:30p-3:30p
4:00p-5:00p
3:30p-4:30p
LOCATION
PHONE
FAX
SOC MAH 201F
738-4089
(voice-mail)
738-4535
FOC 8 203
457-2624
457-2946
*Stated office hours may need to be changed due to special circumstances or events. If the student wishes to meet with the instructor at a time
other than scheduled office hours, the student should make an appointment with the instructor.
Home phone:
Email Address:
Faculty Web Site:
Academic Program Area:
Dean’s Office Telephone:
- (402) 556-3071
- areinarz@mccneb.edu
- http://ctva.mccneb.edu/areinarz
- Information Technology
- 457-2660 (Tom Pensabene)
IMPORTANT DATES: (This section can be here, or at the end of the syllabus under Section IV)
DATE CLASS BEGINS:
November 3, 2007
DATE CLASS ENDS:
February 25, 2008
LAST DATE TO DROP CLASS:
February 11, 2008
DATES CLASS DOES NOT MEET:
none
SECTION II: THE COURSE
COURSE DESCRIPTION:
This course builds upon the foundation provided by the INFO 1522-1532 sequence to introduce the
fundamental concepts of data structures and the algorithms that proceed from them. Topics include
recursion, the underlying philosophy of object-oriented programming, fundamental data structures
(including stacks, queues, linked lists, hash tables, trees and graphs), the basics of algorithmic analysis,
and an introduction to the principles of language translation. The course also provides broad coverage of
the C programming language, where it differs from C++.
COURSE PREREQUISITES: INFO 1532 (CPT 125): C++ Programming II
Metro Community College
Page 2 of 7
Revised: May-03
COURSE OBJECTIVES: Upon completion of this course, the student will be able to:
1. Understand storage classes, their scope and persistence...
2. Understand the C Preprocessor, the C Library and the ANSI-C Standard.
3. Understand and be able to use Structures, Unions, and Enumerations.
4. Understand and be able to use in a C program, typedefs and Complex Declarations.
5. Understand linked and double linked lists and be able to use them in a C program.
6. Understand and be able to write code to generate Queues, Circular Queues and Stacks.
7. Understand the basic concept of modular programming and be able to develop programs from
modules.
8. Be familiar with the capabilities of Make files and be able to create a simple make file to assist in
the generation of an executable program.
REQUIRED/SUPPLEMENTAL MATERIALS:
Title:
C How To Program Edition:
2003—4th [2001-3rd [1997-2nd]] or current
Author:
Deitel & Deitel
Publisher:
Prentice Hall
Title:
C++ Programming: Program Design Including Data Structures Edition: 2007—3rd or
2004—2nd
Author:
D. S. Malik
Publisher::
Course Technology
Materials:
Two 3.5" disks or other submittable media (flash drive, e-mail, etc.)
SECTION III: STUDENT RESPONSIBILITIES
METHODS OF LEARNING:
The student will have specific assignments to read and master. These assignments are indicated in the course schedule and/or
outlined by the instructor. The student should have read the material prior to class meeting date.
This course requires students to work an average of 1.5 hours per week in hands-on, lab activity. Students are responsible for
completing all lab work outside of the classroom. A “personal” version of the software used in this class is available to the
student at additional cost. Metro provides the necessary software in this classroom and in all “Computer and Office
Technology” computer labs
ATTENDANCE STATEMENT:
The course will be covered partially by assigned portions of the text and may be presented in a sequence different from the text.
Material will also be covered that is not in the text. Attendance is necessary to understand the course material. Each student is
expected to recognize the importance of class attendance and promptness. CHRONIC TARDINESS AND ABSENCES MAY
RESULT IN A REDUCTION IN THE FINAL GRADE BY 10%.
Excessive absences or unsatisfactory progress will subject the student to administrative withdrawal from the course. If a student
should miss a class for any reason, he/she is expected to cover the material he/she missed on his/her own. All work must be
made up to the satisfaction of the instructor.
RETAINING COPIES OF SUBMITTED WORK:
On very rare occasion, the instructor has been unable to find any record of work that a student claims to have submitted. There
may be several reasons this has occurred, including loss or theft of the work before it gets to the instructor, or oversight on the
part of the student or instructor. The student should understand that grades are based upon achievement of learning objectives
and successful completion of assignments. If work is missing, for whatever reason, it becomes impossible for the instructor to
evaluate it and assign a grade. It is highly recommended that students keep backup copies of all work submitted toward the
unlikely event that it might need to be resubmitted.
STUDENT WITHDRAWAL:
If you cannot attend and complete this course, you should officially withdraw by calling Central
Registration, 457-5231. Failure to officially withdraw will result in either an instructor withdraw (IW) or
failing (F) grade. The last date to withdraw is identified on the second page of this syllabus handout.
Metro Community College
Page 3 of 7
Revised: May-03
ACADEMIC HONESTY STATEMENT:
Students are reminded that materials they may use as sources for this course may be subject to copyright
protection. Additional information about copyright is provided on the library webpage at
http://www.mccneb.edu/library, by your instructor, or by the College's Copyright Officer.
In response to incidents of student dishonesty (cheating, plagiarism, etc.), the College imposes specific
actions that may include receiving a failing grade on a test, failure in the course, suspension from the
College, or dismissal from the College. The disciplinary procedures are available in the
Counseling/Advising Centers and at
http://www.mccneb.edu/procedures/V-4_Student_Conduct_and_Discipline.htm.
Please note: ANY sharing or transfer of assigned work or test contents or answers between a
student and any other person or party; in part or in whole; whether by disk exchange, E-mail,
manual transcription, co-development of an assignment, or any other means; unless authorized by
the instructor in advance in accordance with the guidelines in the following paragraph; will be
considered academic misconduct and be sanctioned with disciplinary action in accordance with the
above paragraph. Both originating and receiving parties will be liable to such sanction.
Sharing of class notes and handouts is authorized. Obtaining assistance from others (including tutors or
lab techs) for specific programming issues or debugging is authorized. However, no further collaboration
is authorized for any standard assignment. Students wishing to collaborate further must contact the
instructor for special assignments. Such special assignments must clearly identify in advance which
portions are the responsibility of each individual student wishing to collaborate. The learning objectives,
level of difficulty, and typical work involved for each portion must be comparable to that for a single
student working alone on the corresponding standard assignment. Each portion will be graded
individually. Each portion must clearly represent the competency of the individual responsible for it, and
only that individual. The instructor reserves the right to refuse any request for special assignments.
Indications of unauthorized collaboration and/or intent to defraud include, but are not restricted to,
assignments, submitted by students (not necessarily from the same section) individually under each of
their respective names; but which are essentially identical; are essentially identical except for mechanical
changes such as differing variable or module names; are essentially identical except for differing
comments; or exhibit essentially identical idiosyncratic features such as errors in syntax, style, logic,
output formatting, or spelling. The same criteria apply to submissions, by one or more students, where
those submissions bear indications of copying from any other unauthorized source. Authorized sources are
the student textbook for the class, lecture notes, class handouts, and compiler/interpreter documentation
and help materials.
In summary, if you want a grade attached to your name and only your name (the only way I know MCC
records grades), the work you submit must be your work and only your work.
USE OF STUDENT WORK
The ownership of student works submitted in fulfillment of classroom requirements shall remain with the
student(s): By enrolling in classes offered by Metropolitan Community College, the student gives the
College license to mark on, modify, and retain the work as may be required by the process of instruction,
as described in the course syllabus. The institution shall not have the right to use the work in any other
manner without the written consent of the student(s).
Metro Community College
Page 4 of 7
Revised: May-03
Please note: Nothing in the preceding paragraph overrides the restrictions on sharing or
distribution of solutions to assignments and tests or any other policy or procedure discussed above
under the Academic Honesty Statement.
ASSESSMENT OF STUDENT LEARNING PROGRAM
Metropolitan Community College is committed to continuous improvement of teaching and learning. You
may be asked to help us to accomplish this objective. For example, you may be asked to respond to
surveys or questionnaires. In other cases, tests or assignments you are required to do for this course may
be shared with faculty and used for assessment purposes. This will be done in accordance with FERPA
guidelines.
TECHNOLOGY RESOURCES:
By using the information technology systems at MCC(including the computer systems and phones) you
acknowledge and consent to the conditions of use as set forth in the Metropolitan Community College
Procedures Memorandum on Acceptable Use of Information Technology and Resources. It is your
responsibility as a student to be familiar with these procedures. The full text of the Procedures
Memorandum may be found at the following website: http://www.mccneb.edu/itprocedures.htm
USE OF COLLEGE COMPUTERS
When you use computers in College computer labs, learning centers, libraries and many classrooms, you
will need to login using your student username and password. Your username is the same as your
WebAdvisor username and your initial password is your student ID with leading zeros to make it seven
digits. If you need assistance, please contact staff at any of the computer labs, learning centers and
libraries; your instructor may also be able to help.
It is recommended that students save their files to removable media often as they work. The College
reserves the right to take steps necessary to maintain the confidentiality of student identity information
through the use of automatic logouts and screensavers.
EDUCATIONAL SERVICES PROGRAM AREA IDENTIFICATION:
Program Area:
Computer Technology and Visual Arts
Dean:
Tom Pensabene
Academic Dean’s office phone:
457-2660
SECTION IV: INSTRUCTOR RESPONSIBILITIES
METHODS OF INSTRUCTION:
In each lecture during this course, the instructor will cover material the student needs to learn and accomplish. In addition,
written handouts will be provided from time to time. These will be used to supplement the text material and expand the course.
Instruction will consist mainly of lecture material presented by the instructor. In some classes, group discussion and
demonstration will be utilized. In all meetings, discussion opportunities will be provided and the student is encouraged to ask
questions and clarify information as the instructor is lecturing and/or presenting material.
METHODS OF ASSESSING STUDENT PROGRESS:
Student progress is assessed through the completion of assigned projects and tests. A summary of programming assignments
and tests may be found at the end of the syllabus under the heading PROJECTED SCHEDULE OF ASSIGNMENTS.
Attendance and class participation may also be taken into consideration.
The majority of programming assignments require the student to take a basic set of program requirements and, based on
knowledge gained from reading and class, develop a program using the typical program development process. Work will be
evaluated on the adequacy of program planning; correctness of coding generated; usage of comments to describe and clarify
Metro Community College
Page 5 of 7
Revised: May-03
program logic, data element usage, and input/output requirements; adequacy of program testing procedures; and adequacy of
program documentation. Of course, the program should also run correctly.
Typical point assignments for these various aspects of programming for a 25 point program is as follows:
1 input layout(s)
1 printer/output layout(s)
1 hierarchy diagram
2 flowchart or pseudocode
Usage of comments in program:
2 standard coding style & related
1 general description of the program
issues
1 misc. input/output requirements
2 correct procedural logic/method
1 purpose & use of each variable
2 correct compile
(variable table)
10 correct run
1 program logic (for each
--------function/module)
25 total
Full points are awarded for the inclusion of the specified item(s), with points being deducted for notable problems.
Exams consist multiple choice, true/false, fill-in-the-blank questions and short programming segments.
CRITERIA FOR DETERMINING FINAL COURSE GRADE:
A percentage grade will be obtained by dividing the total points a student earns by the total possible points for the course. The
points for each assignment and test may be found in the PROJECTED SCHEDULE OF ASSIGNMENTS found at the end of
the syllabus. The percentage grade will then determine the letter grade for the course, according to the following table:
Letter Grade
Percentage Range
Point Range
A
90%
100%
540
600
B
80%
89.9%
480
539
C
70%
79.9%
420
479
D
60%
69.9%
360
419
F
0%
59.9%
0
359
MAKE-UP TEST PROCEDURES:
Students MUST be present on the day of an announced test. If the instructor is informed BEFORE THE TEST concerning a
valid absence, other arrangements MAY be made. There will be no retakes of tests. Test dates are not firm and are therefore
subject to change.
LATE ASSIGNMENTS:
Assignments turned in late may lose 10% per class day for up to a week and may then receive a grade of 0. Assignments may
not be accepted after the test has been given. Also, see “Attendance” above.
MAINTENANCE OF STUDENT RECORDS:
Test will be returned after grading for review in class and then recollected and retained for record keeping purposes. All other
work is graded and returned as soon as possible, usually by the following week. All grades are kept by the instructor in a grade
book and on computer, which students may see at any time by asking the instructor.
Metro Community College
Page 6 of 7
Revised: May-03
SECTION V: SCHEDULE OF ASSIGNMENTS:
Wk
Date
1
12/3/07
2
12/10
Topics
Deitel
Projects
Malik
Points
INFO 1522 Review
Introductions
Control Structures
Functions
Storage classes & Scope
Recursion
C++ string Class
Arrays
Chs. 1-6
Chs. 1-2
Chs. 3-4
5.1-8
5.11-12
5.13-15
n/a
6.1-5, 6.9
Ch. 1-9
Chs. 1-2
Chs. 4-5
Chs. 6-7
Ch. 7, pp. 334-40
Ch. 16 (new)
Ch. 8, pp. 399-415
Ch. 9
#1
(4.22, 5.42)
50
Random number generation
Sorting Arrays
5.9-10
6.6-7
6.8
#2
(6.35, 7.24)
Assignment
#1 due
50
Searching Arrays
Pointers
Simulated Call-(Pass-)by-Reference
Volatile Type Qualifier
Suffixes for int & float Constants
Ch. 7
7.4
14.7
14.8
App. G (new?)
Ch.19, pp. 1151-67,
1172-83
Ch. 13, pp. 734-6,
Ch. 19, pp. 1134-51
Ch. 13 (1532 review)
Ch. 13, pp. 709-10
3
12/17
Characters & Strings
Formatted Input/Output
Files
Ch. 8
Ch. 9
11.1-5
Ch. 9 (1522 review)
Compare Ch. 3
Compare Ch. 3
#3 (11.7-10)
Assignment
#2 due
50
4
1/7/08
Structures
Unions
Bitwise Operations
Enumerations
Namespaces
More About Files
Review for midterm test
10.1-7
10.8
10.9-10
10.11
n/a
11.6-10, 14.9
Ch. 10 (1532 review)
#4
(10.10,
10.13-14)
Assignment
#3 due
50
Ch. 8 (1522 review)
Ch. 8 (1522 review)
Compare App. E
5
1/14
MIDTERM TEST
All above material
6
1/28
Self-Referential Structures
Dynamic Memory Allocation
Linked Lists
Searching Linked Lists
Sorting Linked Lists
12.1-2
12.3, 14.11
12.4
Stacks
Queues
Circular Queues
Trees
12.5
12.6
7
2/4
12.7
The C++ Standard Template Library
Graphs (in the topological sense)
8
2/11
150
Ch. 13, pp. 700-09
Compare Ch. 17
Ch. 19, pp. 1167-72,
1184-93
Ch. 18, pp. 1018-80
Ch. 18, pp. 10801123
Ch. 20
Assignment
#4 due
#5
(12.12)
50
50
Ch. 22
Ch. 21
Preprocessor
Creating a Project
Make Files
Variable-Length Argument Lists
Ch. 13
14.5
14.3
#6
(13.7, 14.2)
Assignment
#5 due
14.2, 4, 6,
10, 12
Assignment
#6 due
9
2/18
Advanced Topics
Course Review
10
2/25
Final Exam
150
600
The schedule of assignments is subject to change by the instructor. In the event the College closes classes
for any reason, the dates of the scheduled activities will be followed as outlined above.
Metro Community College
Page 7 of 7
Revised: May-03
Download