CSC 231 - Introduction to Data Structures

### Course Syllabus – Fall 2022

 Section Section Day Section Time Section Location CSC 231-800 TR 9:00am - 10:40am Synchronous Online via Zoom

Schedule (See Canvas)

INSTRUCTOR

Curry Guinn
E-mail: mailto:guinnc@uncw.edu?subject=CSC%20231
Office hours:  Via Zoom on MW 11:00am-12:00pm and by appointment
Phone: (910) 962-7937

COURSE DESCRIPTION

CSC 231 - Introduction to Data Structures is the second course in the three course sequence: CSC 131, CSC 231, CSC 331. The prerequisite for CSC 231 is CSC 131 (with a grade of "C" (2.0) or better), and the co-requisite is CSC 133 (Discrete Structures). Topics in CSC 231 include the study of basic data structures and their applications. Lists and trees; searching and sorting algorithms; hashing; analysis and design of efficient algorithms.

Note: A grade of "C" (2.0) or better is required for taking courses for which CSC 231 is a prerequisite.

TEXTBOOK

Problem Solving with Algorithms and Data Structures using Python, by Miller and Ranum, second or third edition. Publisher: Franklin Beedle.  This is available free online at

ANNOUNCEMENTS

·         PyCharm IDE - Requires Python 3 to be installed on your machine. Follow the steps below.

• The Free Community Edition does not require a license
• Configure PyCharm to use the Python 3 interpreter.

·         Textbook website:  http://interactivepython.org/courselib/static/pythonds3/index.html

## STUDENT LEARNING OUTCOMES

The Student Learning Outcomes (SLOs) for CSC 231 are:

1        Students develop knowledge of basic data structures for storage and retrieval of ordered or unordered data. Data structures include: arrays, linked lists, binary trees, and hash tables.

2        Students develop knowledge of applications of data structures including the ability to implement algorithms for the creation, insertion, deletion, searching, and sorting of each data structure.

3        Students learn to analyze and compare algorithms for efficiency using Big-O notation.

4        Students implement projects requiring the implementation of the above data structures.

• Programming Projects
• All homework must be YOUR OWN INDIVIDUAL WORK.
• You may be asked to explain any code that you submit as a part of the assignment. Inadequate explanations may lead me to believe that your submission was plagiarized.
• Independent programming assignments will be assigned weekly.
• Some programming assignments may carry more weight than others.

A modified 10-point scale will be used to compute your course grade. Pluses and minuses ( + ) will be assigned solely at the discretion of the instructor.  Factors that affect this judgment are the distribution of grades, improvement during the semester, and attendance.

 90 - 100 A 80 - 89.5 B 70 - 79.5 C 60 - 69.5 D
• Quizzes 10%
• Programming Assignments and Labs: 25%
• Test 1: 15%
• Test 2: 15%
• Final Exam: 35%

#### Homeworks will be submitted online.   To receive full credit, the online submission must be made by the time and date specified in Canvas.  Late assignments will be automatically docked 10 points per day, with Saturday/Sunday counting as one day.

Attendance Policy

Attending the synchronous class meetings is required.  While the meeting will be recorded so that students may review the material afterwards,  a lack of attendance is strongly correlated to poor student performance.   About 30%-40% of the material in this course is presented only in class.  It is not in the textbook.    Therefore, the following policy will be used:

If a student is not present for:

 1-3 course meetings No change in final grade 4 meetings A plus/minus deduction from the final grade.  [In other words, if a student has an A, the recorded grade would be A-.   If a student has a B-, the recorded grade would be C+.] 5 meetings Two plus/minus deductions.    [e.g., an A becomes a B+, a B- becomes a C.] 6 meetings Three plus/minus deductions. [e.g., an A becomes a B, a B- becomes a C-.] 7 meetings Four plus/minus deductions. [e.g., an A becomes a B-, a B- becomes a D+.] 8 meetings Five plus/minus deductions. 9 or greater meetings F for the course.

Zoom Policy

Course meetings will occur in Zoom.   Please obtain both a microphone and a webcam if you do not already have that hardware.  A microphone and a webcam are required for the course.

When you connect to a class meeting, please make sure that your displayed name is in the format <FirstName LastName>, e.g., “Mary Jones”.

Your webcam does not always have to be on, but it will be required during any synchronous testing.   When your webcam is not on, please have a professionally appropriate image of yourself as the default image.   Your student ID image is perfectly fine.

Using Zoom in a professional manner is important job training as many tech jobs are being done remotely.   Zoom and similar tools will be a part of your professional career even after we have the pandemic under control.    Here are some tips:

·         Mute your microphone always unless you are speaking.

·         Make your default image be professionally appropriate and, in general, similar to your UNCW ID photograph.

·         Do not use any Zoom Video Filters.   They are unprofessional and distracting.

·         Make sure objects visible in your background are professionally appropriate.  E.g., no smoking paraphernalia, alcohol bottles, posters with inappropriate images, etc.  Common sense.

·         Do not smoke or drink alcohol during a Zoom meeting.

·         Do not Zoom from bed.

·         Drinking coffee or water is fine, but don’t eat while on camera.

·         Wear clothing that is appropriate for a face-to-face class.   If you wouldn’t wear it on campus, don’t wear it in Zoom.

Inappropriate behavior will result in being evicted from the Zoom meeting and reported to the Dean of Students.

University Policy on academic integrity will be followed for this course. Cheating will be taken very seriously, resulting in severe penalties.  The academic integrity policy for each class varies. Please follow the policies below:

Appropriate Collaboration

·         Sharing class notes with another student.

·         Discussing anything that was covered in class.

·         Helping a fellow student locate a bug in their program, provided the following is true:

§  You never type or dictate code for the student. You may help the student resolve a particular issue. You may not solve large parts of the programming problem for them.

Inappropriate Collaboration

·         Showing another student (who has not completed the assignment) your code or answers to a problem.

·         Copying problem solutions or code from another student.

·         Verbally providing other students with the solution to the program. (This would be along the lines of giving them the key to solving the problem when they need to think it through themselves.)

·         Helping other students during a test or quiz.

·         Doing another student's work.

·         Posting course material (including test/homework/quiz problems) on any internet site, message board, IM, email thread, social media, etc.

·         Submitting assignments/test/quiz problems that are plagiarized from any internet site, message board, IM, email thread, social media, etc.

Any of these constitutes cheating and will be reported to the academic integrity council.

Help Problem Solving from Instructors

You may ask for problem solving help from your instructor or TA. However, problem solving is a skill that can be developed only by practice. It is vital for you to learn how to successfully struggle through problems on your own. If you are genuinely stuck, we will be willing to help you as far as your code matches the techniques described in class. If you come up with an approach that is a complete departure from the way described in class, you are responsible for fixing any resulting problems.

Any dissemination of class notes, lecture slides, recordings, handouts, copies of exams, or any other course materials without permission of the instructor is prohibited by UNCW policy.  UNCW Copyright Use and Ownership Policy (http://www.uncw.edu/policies/documents/01210.copyrightpolicy.pdf ) specifies that class notes and related materials are considered derivative of original intellectual property of the course instructor. Therefore, the instructor (not the student) owns the copyright and must provide specific permission to distribute and/or reuse those materials for anything other than personal use and scholarship by the student. Commercial use, display, or dissemination of such notes, copies, or recordings—as well as posting to websites--will generally constitute an infringement of copyright and the Honor Code.  Materials that qualify as student-owned are listed in the policy.

Students with Disabilities

Students with diagnosed disabilities should contact the Office of Disability Services (962-7555). Please give me a copy of the letter you receive from Office of Disability Services detailing class accommodations you may need. If you require accommodation for test-taking, please make sure I have the referral letter no fewer than three days before the test.

Students who experience COVID-19 symptoms should immediately contact the Abrons Student Health Center at (910) 962-3280.

Learning Strategies

You are expected to take an active role in your learning in this course. This includes regular attendance, paying attention in class, reading the textbook, and completing all course requirements. You are encouraged to study with your classmates outside of class.

Policies

UNCW practices a zero-tolerance policy for violence and harassment of any kind.  For emergencies contact UNCW CARE at 962-2273, Campus Police at 962-3184, or Wilmington Police at 911.