OOP and Intro to Data Structures

CS 220 01 / Zelle

Winter 2017


Instructor

Dr. John Zelle
Office: SC 353
phone: 352-8360
e-mail: john.zelle@wartburg.edu

Office Hours

MWF 9:00, TH 8:30 and by appointment

Class Meetings

MWF 12:00 in SC 345

Class WWW Page

http://mcsp.wartburg.edu/zelle/cs220

Course Description

Problem-solving is a core skill of computer science and software development. Students entering this class should already be competent at programming solutions to simple computing problems. This class serves as a bridge from programming "in the small" to programming "in the large." Programming in the small involves the creation of short programs from scratch by a single programmer. Software development as it is practiced today usually involves teams of developers creating (very) large programs, often built around pre-existing components.

Course Prerequisite:
CS 120
Credit Hour Policy

This class is 1 course credit. You may expect to spend at least two hours of time outside of class, completing reading, homework, programming assignments, for every hour you spend in class.

Student Learning Outcomes

A student completing this class will:

  1. Understand the role of abstraction in dealing with complex systems.
  2. Be familiar with the fundamental data structures that are commonly used to implement larger software systems.
  3. Be able to design and implement elegant solutions to moderately complex computing problems using the Python language.
  4. Be able to analyze the run-time requirements of basic algorithms.

Text

Data Structures and Algorithms Python and C++ by Reed and Zelle (Franklin, Beedle, and Associates, 2009).

Course Outline
  • Section 1 (3 weeks)
    • Functional Abstraction/Design by Contract
    • Algorithm Analysis
    • Abstract Data Types and Classes
  • Section 2 (3 weeks)
    • Lists
    • Dictionaries
    • Linked Structures and Iterators
  • Section 3 (3 weeks)
    • Stacks
    • Queues
    • Basic Recursion
  • Section 4 (3 weeks)
    • Advanced Recursion
    • Binary Trees
Class Format

The class will be a mix of concrete, practical assignments and class discussion of theoretical foundations. The order of topics will generally follow the textbook. Class work will include homework problems as well as individual and team programming projects. You will have something to turn in virtually every class day. A detailed schedule of assignments and due dates can be found on the class web page.

Evaluation

Exam 1 (Mon 1/30): 20%
Exam 2 (Wed 2/22): 20%
Exam 3 (Fri 3/24): 20%
Exam 4 (Fri 4/19): 20%
HW (daily) and projects (8--10) 20%

Note: Some homework may be assigned but not collected and/or graded. If you do every assignment conscientiously, you will learn more and not have to worry about whether it will be graded. Programming project assignments will be given with a 1 to 2 week time for completion. All such projects will be graded, and they will count for approximately 75-80% of the total homework points.

Grading Scale

Grades are assigned based on the (weighted) percentage of total points:

90-99 A
80-89 B
70-79 C
60-69 D
Other: Thanks for playing

Pluses and minuses will be used to "smooth" grade transitions. I may move the exact boundaries, but they will not be raised. Anyone with 90% of total points will receive some sort of an "A".

Attendance

Regular attendance is expected. Although not part of the grade per se, excessive absences will affect a student's performance in the class. The instructor will not provide individual tutoring for material missed due to unexcused absences.

Honesty

You are reminded of your obligation to the Wartburg Honor Code which states:

Students, faculty, and staff of Wartburg College are expected to demonstrate integrity in all endeavors. Students are expected to adhere to four essential principles:

  1. Submit only original work and properly cite ideas of others, including fellow students.

  2. Refrain from giving or receiving unauthorized aid on examinations and assignments.

  3. Report any act that violates these principles.

  4. Ask for clarification if uncertain about the expectations on a particular assignment.

Students are responsible for abiding by these principles and opposing academic dishonesty in all academic endeavors.

Absolutely no cheating will be tolerated. Any situation where I feel there is sufficient evidence of cheating will be vigorously pursued. The minimum penalty is a zero for the assignment. Of course, discussion of ideas is healthy and essential for education. Feel free to discuss approaches to assignments and to help fellow students with problems in their programs. Be sure, however, that the assignments you turn in represent your own effort. There is an importance difference between sharing ideas and whole-sale copying. Allowing or assisting someone else to copy/use your work is as bad as copying yourself.

Late Work

Keeping up with homework and project deadlines is critical to successfully completing the class. Late work will receive only summary grading and can earn a maximum of 75% of the original assignment.

Late Exams

Late exams will be given only under exceptional circumstances. Except for the case of confirmed medical emergency, arrangements must be made prior to the actual exam date.

Students Needing Accommodation

Qualified students with disabilities are protected from unlawful discrimination by Section 504 of the Rehabilitation Act of 1973 (Section 504) and Title II of the Americans with Disabilities Act of 1990 (ADA), as amended. Students requesting academic accommodations due to disabilities must arrange for such accommodations by contacting Nicole Willis, Pathways Academic Success Associate. She can be reached at the Pathways Center, (319) 352-8230, or by e-mail nicole.willis@wartburg.edu. Presenting documentation of a disability early is helpful and often necessary to secure needed materials in a timely way. Accommodations should be requested PRIOR to affected assignment due dates. Accommodations will not be provided retroactively.

Sexual Misconduct and Discrimination

Wartburg College is committed to providing a learning, working, and living environment free from all forms of sexual misconduct including, but not limited to, sex-based harassment, non-consensual sex acts, sexual exploitation, relationship violence, and stalking. Wartburg College considers sex discrimination in all forms to be a serious offense and it will not be tolerated.

The Wartburg College's Title IX, Sexual Misconduct and Discrimination Policy, following national guidance from the Office of Civil Rights, requires that faculty follow Wartburg's policy as a "mandatory reporter" of any personal disclosure of sexual harassment, sexual misconduct, and/or violence related experiences or incidents shared with the faculty member in person, via email, and/or in classroom settings. These disclosures include but are not limited to reports of personal relationship abuse, relational/domestic violence, and stalking. While faculty are often able to help students locate appropriate channels of assistance on campus, disclosure by the student to the faculty member requires that the faculty member inform appropriate Wartburg personnel to help ensure that the student's safety and welfare is being addressed, even if the student requests that the disclosure not be shared.

For confidential counseling support and assistance on campus, please contact:

For private, but not confidential, resources on campus, please contact:

General Caveat

The policies presented here should be taken as general guidelines and are subject to change at the discretion of the instructor with due notice and consideration. "If any point in dispute is not covered by the Rules, the decision shall be made in accordance with equity." (Rule1-4 of USGA Rules of Golf).