CSC172: Data Structures
Summer 2024

General Information

Instructor: Prof. Ted Pawlicki <pawlicki@cs.rochester.edu>

Office: 2101 Wegmans Hall (see instructor website )

Lectures:

Website: The UR's BlackBoard system

Course Goals

This course is a hands on introduction to Data Structures and Analysis of Algorithms using the Java programming language. You will learn to design, write and analyse computer programs computers to determine efficiency in terms of time and memory utilization. Topics covered include:

We learn by doing. Students should expect to spend time outside of lecture to master the material.

For all your courses, be sure to familiarize yourself with the OFFICIAL University of Rochester Credit Hour policy which says that student should expect to spend two hours studying outside of class for every hour in class. Since CSC172 has 1.25 hours per day lecture it follows that you should schedule at least four hours per day working on this class. UR CREDIT HOUR POLICIES

Prerequisites

A semester course of introductory programming in a high level object oriented language is required. CSC 171 or equivalent, MATH 150. May be taken concurrently with MATH 150 if CSC 171 prerequisite is satisfied.

Textbook & Resources

Required Textbook

We will use an online interactive textbook CSC172 : Data Structures and Algorithms this term. Readings and online activities associated with this textbook will count for your grade.

In order to get access to this textbook :

  1. Sign in or create an account at learn.zybooks.com
  2. Enter zyBook code: ROCHESTERCSC172PawlickiSummer2024
  3. Subscribe

Recommended Textbooks

Data Structures and Algorithm Analysis Edition 3.2 (Java Version) Clifford A. Shaffer

The text book is a good reference for code examples. You may or may not need the textbook. Assignments are not taken from it.

Additional readings and resources:

Course Work

There is homework almost every day. These are short exercises that you can complete on your own time.

Projects are larger programming assignments, typically taking a week to complete.

Extra credit for going above and beyond any single assignment must be approved by TAs in advance. The maximum extra credit for any one assignment is typically 10%.

Make up quizzes and exams and extensions on projects are only allowed with a suitable prearranged excuse.

Grading

Late assignments without suitable prearranged excuse will not be accepted. Missed or late homework will receive a grade of zero.

Final course grades will be based on the following components and weights:

Online Exams32%
Online Zybooks Homework33%
Programming Labs & Projects 35%

This scheme is subject to change in response to changing circumstances. Any changes will be announced in class and posted on the class web site.

Letter grades will follow the Official University of Rochester Grading Scheme. Note that the University scheme puts average somewhere between C and B. The following table is an estimate of how the numeric grades will map onto the letter grades (subject to change):

A- to A+ : Excellent >= 90%
B- to B+ : Above Average >= 80%
C- to C+ : Minimum Satisfactory Grade >= 70%
D- to D+ : Minimum Passing Grade >= 60%
E: Fail < 60%

All appeals of grades for any component of the course (homework, project, quiz, exam, etc.) must be made within one week of the grade being posted.

Course Policies

Students with an appropriate excuse for missing a quiz, workshop, homework, or project deadline must make arrangements in advance.

Students with an accommodation for any aspect of the course must make arrangements through the Center for Excellence in Teaching and Learning (CETL) IN ADVANCE. Then, as instructed by CETL, contact the instructor to confirm your arrangements. Do not leave this until the last minute either.

Students who are unable to attend or complete any part of the course due to illness should contact the instructor as soon as possible. Please note that the University Health Service (UHS) does not provide retroactive excuses for missed classes. Students who are seen at UHS for an illness or injury can ask for documentation that verifies the date of their visit(s) to UHS without mention of the reason for the visit. Students with extended or severe illness should contact the College Center for Advising Services (CCAS) for advice and assistance.

Academic Honesty and Collaboration

All assignments and activities associated with this course must be performed in accordance with the University of Rochester's Academic Honesty Policy. More information is available at: www.rochester.edu/college/honesty

You will learn the most if you do all the work in this course on your own.

Homework is individual work and you must complete it individually. Your TAs and are available in lab to help you with homework. You may verbally discuss assignments with tutors and other students. You may consult library and on line references, but you must write all the code individually.

With every assginment you should include a comment on who helped you and what resources you used.

It is ok to verbally discuss assignments with other students, but do not copy assignments or share electronic files.