CSCE A311: Data Structures and Algorithms

Course Syllabus, Fall 2020 Textbook

Course Description: Representation and organization of digital information in the form of effective and efficient data structures, manipulation of data structures in a procedural fashion, and the analysis and evaluation of various algorithms. The following topics will be covered: ADT, arrays, tables, linked lists, stacks, queues, trees, sorting, searching, graphs, hashing, spanning trees, disjoint sets, and heaps.

Outcomes:

The instructor will:

  1. Aid students to achieve an expert knowledge of how to represent and organize digital information by variety of data-structures applicable in most object-oriented languages.
  2. Introduce students to the techniques of manipulating these structures by algorithms to perform common actions on the data structures such as finding, retrieving, adding, and deleting information.
  3. Illustrate benefits and drawbacks of different algorithms by analytically and experimentally evaluating algorithmic efficiency.
  4. Provide students with the background knowledge and skills needed to successfully design, implement, modify and evaluate digital information in subsequent upper-division computer science courses.

Students will be able to:

  1. Design suitable information representations for a variety of problems
  2. Describe appropriate algorithms and data structures for a number of well-defined problems
  3. Design algorithms to solve given problems using techniques such as divide-and-conquer
  4. Implement algorithms and data structures in a computer programming language
  5. Analyze the time and space efficiency of an algorithm, use the big-O notation.
  6. Measure the time and space requirements of an algorithm.

Homework Assignments:    There will be approximately five homework assignments that will consist of both analytical problems and programs to write. Late homework will be penalized by 5% per day late, up to the day that answers are provided. I will typically post answers the next week (but not always). Unless otherwise indicated, programming assignments and written assignments must represent your own work. It is permissible to discuss the assignments with other students, but do not disclose the solution. The tutor schedule will be posted at the College of Engineering Tutoring Center page. You can chat with fellow students in your course on the CS&E Discord server

Weekly Quizzes:    On most weeks we will have a short quiz at the end of the week. This will be posted on Blackboard. It may be short answer, multiple choice, or a problem to work through. The quizzes are intended to be fairly easy if you have kept up with the material for the week. Each quiz is graded on a 3 point scale.

Labs:Under COVID I am anticipating that most of you will be working on your own computer from home. If you don't have computer access at home, you can work in the EIB labs which are in EIB 202 and 401. Currently, hours are limited to M-F 8 to 5 and distancing/hygiene practices must be adhered to. See the Facilities Website for more information. You can also access a virtual Windows machine via VDI. The machine image includes all the programs you would normally have access to from the campus computer lab. Finally, you can do your work on one of our linux machines via remote access (VPN access required). I can set you up with an account upon request.

Questions:If you have any questions, normally I would invite you to drop by my office. But under COVID, the best way to get a hold of me is through email or to send me a message on the discord server or to post a message in the 331 channel on discord. These mechanisms will reach me more quickly than telephone.

Exams: There are three exams. Each exam will cover the material since the last exam while the final exam may include any material that was covered in the course, but will emphasize the new material. Unless prior arrangements are made no make-up exams will be given. At this point I am planning to give you "take-home" exams that you complete within a specified timeframe.

Grading: 

Grading breakdown:

Homeworks: 35%
Quizzes: 15%
Exam 1: 15%
Exam 2: 15%
Final: 20%

An incomplete grade will only be given for a valid excuse (e.g. medical, death in the family). An incomplete grade does not let you take the class over again, your final grade will be assigned based on work submitted in class and work that remains to be submitted.

Academic Honesty: Academic integrity is a basic principle that requires students to take credit only for ideas and efforts that are their own. Cheating, plagiarism and other forms of academic dishonesty are defined in the Student Code of Conduct, which can be found in the UAA Student Handbook: https://www.uaa.alaska.edu/students/dean-of-students/student-conduct/code.cshtml

Cheating, plagiarism and other forms of academic dishonesty will first go through the student conduct process and then, if a violation of the Student Code of Conduct is found, academic sanctions may occur in addition to disciplinary sanctions. The Student Conduct Review Procedures are outlined in the UAA Student Handbook.

Academic Rights of Students: The Academic Dispute Resolution Procedure is in the UAA Catalog here: https://catalog.uaa.alaska.edu/academicpoliciesprocesses/academicstandardsregulations/academicrightsofstudents/

Student Equity and Compliance:

The Office of Equity and Compliance ensures that UAA adheres to a safe, equitable, and healthy environment.  The office website is https://www.uaa.alaska.edu/about/equity-and-compliance/.  If you qualify for accommodations because of a disability, please contact Disability Support Services in RH 105 (phone 907-786-4530) in atimely manner so that your needs can be addressed. You can make anonymous reports regarding discrimination, sexual assault, sexual harassment, dating and domestic violence, stalking, or retaliation. For emergencies, contact UPD at 8-911 from a campus phone or 911 from a cell phone.

Care Team Support for Students:

If you, or someone you know, needs support, is distressed, or exhibits concerning behavior, help by making a referral to the Care Team. The UAA CareTeam's purpose is to promotea safe and productive learning, living and working environment by addressing the needs of students. As your Faculty, I may contact the Care Team to seeksupport for you.  I encourage you to fill out a referral if you or a classmate may be in need of help.

Contact info for the Care Team: (1) submit a Care Report (referral) online, http://www.uaa.alaska.edu/careteam/submitting-care-report.cfm; (2) E-mail your concern to care@uaa.alaska.edu; or (3) call the Care Team phone number: 786-6065;  if an emergency-- call UPD or 911.

Title IX: Members of UAA and visitors have the right to be free from all forms of gender and sex-based misconduct including sexual violence, sexual harassment, domestic violence, dating violence and stalking. UAA expects all members of the community to conduct themselves in a manner that does not infringe upon the rights of others. Gender-based and sexual misconduct has a negative impact on members of our community. Therefore, UAA has a zero tolerance policy for gender-based and sexual misconduct. If you have experienced gender-based and/or sexual misconduct, the following individuals can assist you in exploring options and support:

Title IX Coordinator, (907)786-1424 https://www.uaa.alaska.edu/about/equity-and-compliance/

Student Health and Counseling, (907)786-4040, https://www.uaa.alaska.edu/students/student-health-counseling-center/