Metropolitan Community College

advertisement
Metropolitan Community College
Course Syllabus – 2010-2011/Spring
COURSE IDENTIFICATION
Title:
- Data Structures and Algorithms
Prefix/Section:
- INFO 2537 8A
Credit Hours:
- 4.5
Begins/Ends/No-Class Days: - 15 Mar 2011/24 May 2011/NA
Meeting Day/Time:
- T/6:00 p.m. – 10:00 p.m.
Section Census Date:
- 28 Mar 2011
Last Day to Withdraw
- 09 May 2011
Delivery Type:
Classroom
Class Location:
- SOC MHY 210
Lab Location:
- SOC CON 217 (2nd floor) Academic Resource Center (ARC)
Course Web Address:
See Faculty Web Site
CONTACT INFORMATION
Instructor Name:
Alan R. Reinarz
METRO OFFICES
HOURS*
LOCATION
PHONE
FAX
T/Th
11:00a-12:00p
M/W…….1:30p-2:30p
T…………4:00p-5:00p
SOC MHY 110F
402-738-4089
(voice-mail)
402-738-4535
M
SRP A128
402-537-3800 or 3846
402-537-3834
4:00p-5:00p
*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(s):
402-556-3071
areinarz@mccneb.edu
http://faculty.mccneb.edu/AReinarz/ (also see
http://sharepoint.mccneb.edu/ctvacommons/Reinarz/)
Academic Program Area: Information Technology & E-Learning
Dean’s Office Telephone: 402-457-2660 (Tom Pensabene, tpensabene@mccneb.edu)
COURSE INFORMATION
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
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.
Metro Community College
Page 1 of 9
Revised: May-03
3.
4.
5.
6.
7.
Understand and be able to use Structures, Unions, and Enumerations.
Understand and be able to use in a C program, typedefs and Complex Declarations.
Understand linked and double linked lists and be able to use them in a C program.
Understand and be able to write code to generate Queues, Circular Queues and Stacks.
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 1: C How To Program Edition: 2010—6th or current
Author: Deitel & Deitel
Publisher: Prentice Hall
ISBN:978- 0-13-612356-9
Title 2: C++ Programming: Program Design Including Data Structures Edition: 2011—5th
Author: D. S. Malik Publisher: Course Technology
ISBN: 978-0-538-70809-9
Materials:
Submittable media (flash drive, e-mail, floppy disks, etc.)
Students enrolled in this course may obtain a licensed copy of Microsoft Visual C++ (or Visual Studio) and Microsoft Visio
at no charge, for use on their own computer. Visual C++ (VC++) is a component of Visual Studio (VS). MCC is currently using
VS .NET 2008 or 2010 Professional. See the following link for details on using MSDNAA:
http://sharepoint.mccneb.edu/msdnaa. You may also use any other ANSI/ISO-compliant C/C++ compiler.(Note: VC++ will
correctly treat your program as a C program if the source file has a .c extension in place of the normal .cpp extension.)
Course Structure:
In each lecture during this course, the instructor will cover material the student needs to learn and accomplish. In addition,
written handouts may 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 may be used. 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.
COURSE ASSESSMENT
1. Types of Assessment/Assignments
a. How students will be assessed (Quizzes/Exams/Papers/Projects/etc)
Student progress is measured against the course objectives listed earlier by means of in-class participation, C/C++
computer programs, as well as periodic written and hands-on skills testing. Assignments will be C++ programs,
for the student to work on either at home or in one of the computer labs. Programs are vital to achieving the
course objectives. Students will write C/C++ programs based on material learned over the chapters in the
textbook. Please retain copies of your submitted work. Typical program submittals must include:
 design/format/layout documentation for all program input and output,
 a hierarchy diagram and/or UML (where appropriate),
 flowcharts (or pseudo-code or IPO charts),
 printed source code as successfully compiled and executed,
 printed output from a successful test execution,
 listings of all test input and output files, and,
 on submittable storage medium:
o source files for all printed documentation,
o the program source code as successfully compiled and executed, and
o all data files needed for testing program execution.
Programming assignments will be evaluated on:
 the adequacy of program planning;
 correctness of coding generated;
 usage of comments to describe and clarify program logic, variable usage, and input/output requirements;
 adequacy of program testing procedures; and
 adequacy of program documentation.
Metro Community College
Page 2 of 9
Revised: May-03
 Of course, the program should also run correctly.
Full points are awarded for the inclusion of the specified item(s), with points being deducted for notable problems. 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:
1 general description of the program
1 misc. input/output requirements
1 purpose & use of each variable
(variable table)
1 program logic (for each
function/module)
2 standard coding style & related
issues
2 correct procedural logic/method
2 correct compile
10 correct run
--------25 total
Exams consist multiple choice, true/false, fill-in-the-blank, and essay questions and short programming segments. The exams
will test material presented in the reading and other assignments, and during class meetings.
b. Other assignments (Required reading, homework, and etc)
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 the 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 MCC Academic Resource Centers.
c. Make-up and late assignment policies
LATE ASSIGNMENTS:
Assignments turned in late MAY lose 10% per week. Late assignments MAY not be accepted after two weeks
overdue. Please contact instructor regarding the circumstances of any late work.
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.
d. Schedule of assessments/assignments (See below.)
2. Grading Policy
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
3. Maintenance of Student Records
a. How/when student receive feedback on their progress
b. When papers/projects/tests/etc. will be returned
c.
The programming assignments and exams will be returned in class one week after they are turned in to the
instructor. Grades will be reflected on the returned items. Students may obtain their current cumulative grade from
the instructor before or after class. The exams will be reviewed in class but retained by the instructor.
Grade books (grade spreadsheets) should be kept by the instructor for a minimum of one (1) year.
Metro Community College
Page 3 of 9
Revised: May-03
d.
Student tests, papers, projects, etc., that were graded by faculty for determining the final grade and were not
returned to the student, should be kept for one (1) year.
STUDENT EXPECTATIONS
Required Expectations
1. Attendance/Participation Policy
The course will be covered partially by assigned portions of the text and may be presented in a sequence different from
the text and some material will be covered that is not in the text. Therefore, attendance is necessary to understand the
course material. Each student is expected to recognize the importance of class attendance and promptness. Chronic
tardiness or lack of attendance will contribute to non-achievement of course objectives. CHRONIC TARDINESS
AND ABSENCES MAY RESULT IN A REDUCTION IN THE FINAL GRADE BY 10%. 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.
The following interprets (new) college attendance policy and may be subject to adjustment.
 Students who attend no class meetings up to and including the Section Census Date published in the Class
Schedule at www.mccneb.edu/schedule/default.asp may be disenrolled from the class [i.e., the instructor
reports a “WX”]. There is no appeal for this disenrollment.
 On July 1, 1995, federal financial aid regulations began requiring educational institutions to track all financial
aid students who receive grades of "F" to determine if they received the "F" because of non-attendance. If a
student receives an "F" grade for non-attendance [reported as “FX” by the instructor], the Financial Aid office
must return all or a portion of the student's federal funds to either the student loan lender or to the Department
of Education. Students receiving financial aid and who receive an “FX” grade are considered to have
unofficially withdrawn from the class and may be required to return some or all of the financial aid funds they
received for taking a class or classes. “FX” grades appear on official transcripts. The “FX” grade does affect
GPA calculations in the same manner as “F.” A student who fails to meet class attendance expectations may
receive a final grade mark of “FX,” indicating an absence-related failure, or a failing (F) grade. If an
instructor issues a grade of “F,” the college will assume that the student completed the course and “earned”
the “F” grade.
 Current policy of instructor: unless there is documented instructor assent to an alternative means to meet
course requirements, your grade will be reported as “FX”
o If your final grade computation is “F,” AND you have not attended class for two weeks or more,
cumulative; OR
o If you have not attended class for four weeks or more, cumulative, regardless of final grade
computation; OR
o If you fail to take either the mid-term OR the final exams or both.
 Also remember, to remain eligible for financial aid, students are responsible for meeting Satisfactory
Academic Progress standards (http://www.mccneb.edu/fa/standards_of_progress.asp,
http://www.mccneb.edu/catalog/financialaid.asp,
http://www.mccneb.edu/bogpolicies/policies/40000/40302_student_academic_progress_and_review_of_acad
emic_status.htm, and http://www.mccneb.edu/catalog/academicinformation.asp#standardsacademicprogress).
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.
2. Expected Classroom Behavior/Suggested Expectations
a. Class Participation (Yes!)
b. Disruptive Classroom Behavior (Not!)
c. Portable Electronic Devices Usage (Not!)
d. Internet Use During Class
Students are not permitted to browse the Internet, read email, or otherwise use the computer during lecture time, unless
the instructor directs you to access the computer. Using the computer during lecture is distracting to both the instructor
Metro Community College
Page 4 of 9
Revised: May-03
and students who are actively listening. Ignoring this policy will result in lowering your attendance and participation
grade. (INFO)
Notice: This syllabus is written as an expectation of class topics, learning activities, and expected learning outcomes. However,
the instructor reserves the right to make changes in this schedule that may result in enhanced or more effective learning for
students. These modifications will not substantially change the intent or objectives of this course and will be done within the
policies and guidelines of Metropolitan Community College.
LEARNING SUPPORT
Metro's Math, Writing, and Academic Resource Centers can help you achieve educational success. The staff in these centers
provide drop-in assistance with basic math, reading, writing and computer skills. We offer a friendly, supportive learning
environment. Self-paced computer-assisted instructional support in reading, vocabulary, typing, English as a Second Language,
and online course orientation is also available. Detailed information about these services are in the Student Handbook, College
Catalog, and online. Links to these resources are located at http://www.mccneb.edu/arc/.
COLLEGE POLICIES
College policies, such as student rights and responsibilities, academic standards, plagiarism, and etc. are outlined in the College
Catalog and Student Handbook. This information can be accessed via the online catalog at
http://www.mccneb.edu/academics/catalog.asp.
STUDENT WITHDRAWAL: If you cannot participate in and complete this course, you should officially withdraw by
calling Central Registration at 402-457-5231 or 1-800-228-9553. Failure [to meet the attendance and participation requirements
of the course and] to officially withdraw will result in either an attendance-related failure (FX) or failing (F) grade, [unless there
is documented instructor assent to alternative means to meet course requirements]. [The former procedure for instructor
withdrawal of a student (“IW”) is no longer available.] The last date to withdraw is noted in the CLASS IDENTIFICATION
section of this syllabus.
STUDENT CODE OF CONDUCT: The college has a standard code of conduct that involves consequences for
specific academic and non-academic behavior that may result in a failing grade, probation, or suspension from the college.
More complete information about the code of conduct is located in the Student Services portion of the online catalog
(http://www.mccneb.edu/catalog/studentinformation.asp).
ACCOMMODATIONS FOR STUDENTS WITH DISABILITIES: If you have a disability that may
substantially limit your ability to participate in this class, please contact a Vocational Special Needs Counselor, located in the
Student Services Office on each campus. Metropolitan Community College will provide reasonable accommodations for
persons with documented qualifying disabilities. However, it is the student’s responsibility to request accommodations. For
further information, please contact the Student Services Office at your campus.
ADDITIONAL COLLEGE POLICIES
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.pdf.
Instructor Policy:
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 media 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.
Metro Community College
Page 5 of 9
Revised: May-03
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).
Instructor Policy:
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/procedures/X15_Technology_Resources_Use.pdf.
USE OF COLLEGE COMPUTERS
When you use computers in college Academic Resource 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 Academic
Resource 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.
Metro Community College
Page 6 of 9
Revised: May-03
Special Assignment for Week 2, Malik option, in lieu of Deitel 11.7-10
Modify the “Checking Account Balance” Programming Example in Chapter 5 of Malik (4th ed., pp. 250ff.
or 5th ed. Web site) as follows:
1) Program should allow processing of multiple accounts.
2) Input lines (records) with account numbers and beginning balances should come from a separate old
master input file stream.
3) The transaction lines (records) should come from a separate transactions input file stream. When
creating a transaction file for program input, each transaction line (record) should be prefixed with the
appropriate account number.
4) Account numbers in the two input file streams should be in strict ascending order. Use a merge
algorithm to match account numbers from the two input file streams. That is, your program should be able
to process all input by making a single, “simultaneous” “pass” through both input file streams. You will
need to deal with situations where one input file stream reaches “End of File” before the other. Input
processing is complete only when “End of File” is reached for both input file streams. There may be
multiple transactions for a given old master account.
5) When a different account number is encountered on transaction input, before processing this different
account the account number and ending balance of the account you were just working on should be
written to a separate new master output file stream in a record format compatible with future use as an old
master input file stream. If there are no (valid) transactions for a given old master account record, the old
account data should be written to the new master file stream unchanged. Never just drop an old master
input from the new master output.
6) Errors, such as “No existing account for transaction xxx…x,” “Old account nnnnnn out of order,”
“Transaction xxx…x out of order,” etc. should be written to the same output file stream that receives
output in the book’s example.
Metro Community College
Page 7 of 9
Revised: May-03
SECTION V: SCHEDULE OF ASSIGNMENTS:
See Instructor web site for updated assignments.
D: Deitel (6th)
Wk
Date
Topics
1
3/15/
2011
INFO 1522 Review & Compare C & C++
Introductions
Beginning-Level Output & Input
Control Structures
Functions
Storage classes & Scope
C++ string Class
Arrays
M: Malik (5th)
Projects
Points
50
Random number generation (new)
Recursion (new)
2
3/22
Pointers (INFO 1532 Review & Compare)
50
Pointers & Functions (Sim. C-B-R)
Characters & Strings (INFO 1522)
Formatted I/O; Files (INFO 1522 Rv & C)
3
3/29
Searching Arrays (new)
50
Sorting Arrays (new)
Heap Sort
4
4/5
Structures (INFO 1532 Review)
Unions (new)
Bitwise Operations (new)
Enumerations (INFO 1522 Review)
Namespaces (INFO 1522 Review)
More About Files (INFO 1532)
Review for midterm test
50
5
4/12/
MIDTERM TEST
6
4/19
Self-Referential Structures (new)
INFO 1532 Review & Compare
Dynamic Memory Allocation
Deep Copy, Classes & Pointers, etc.
Linked Lists (Searching Linked Lists)
Sorting Linked Lists
7
4/26
Stacks (new)
Queues (new)
Circular Queues
Trees (AVL Trees) (new)
8
5/3
The C++ Standard Template Libr. (new)
Graphs (in the topological sense) (new)
9
5/10
Preprocessor (new)
Additional C Topics (new)
10
5/17
Course Review
11
5/24
Final Exam
150
All above material
50
50
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 8 of 9
Revised: May-03
1. IMPORTANT DATES Note: Metro’s Academic Calendar is at
http://www.mccneb.edu/academics/calendar.asp?Theme=2 )
2011 Spring Quarter Important Dates
Classes begin ................................................................................................................. March 9 W
Spring recess (College closed) ........................................................................... April 23-24 SA-SU
Classes resume from Spring recess ................................................................................. April 25 M
Fall Priority for Current Students 50+ credits w/Webadvisor only................................. April 27 W
Fall Current Student Webadvisor only registration begins ................................................ May 4 W
General Registration begins ............................................................................................. May 11 W
Student Withdrawal Deadline to drop a class ......................................................... Varies by class*
Winter Term Incomplete “I” Grades Due ........................................................................ May 18 W
Classes end ..................................................................................................................... May 24 Tu
Instructional work days ........................................................................................... May 25-27 W-F
Memorial Day recess (college closed) .................................................................. May 28-30 SA-M
*To view the Last Day for a student to withdraw “drop” a class; go to the class schedule found on line
at http://www.mccneb.edu/schedule/classschedule.asp. Then, find the course section and click on the
Important Dates link on the same line as the course title. The refund/withdraw dates for each course
section are automatically calculated based on the start and end dates and the number of sessions for a
course. A student must withdraw by this date to avoid being assigned a grade of “F”.
REFUND POLICIES for Credit Courses
A student is responsible for withdrawing “dropping” from a course(s) if unable to attend. Non-attendance
or non-payment does not relieve a student from the obligation to pay. To withdraw “drop” from a course,
log on to WebAdvisor https://webadvisor.mccneb.edu and click “Register and Drop Sections”.
An official schedule change that reduces or terminates a student’s academic credit load may entitle the
student to a refund. The eligibility and amount of a refund is automatically calculated by the date of the
withdrawal. A student may see the refund percentage received through midnight of the same day by
logging into WebAdvisor and clicking on the Tuition Refund Calculator. Note: Schedule changes may
have implications for students on Financial Aid. Check with the Financial Aid Office prior to any
schedule changes at 402-457-2330.
Metro Community College
Page 9 of 9
Revised: May-03
Download