CSc 345 (Analysis of Discrete Structures) Syllabus
Fall 2024


Catalog Info     Resources     Topic Outline     Grading     Univ./Dept. Policies
Class Personnel     Objectives     Dishonesty     Class Policies     Caveat

General Catalog Information:

Description: Introduction to and analysis of algorithms and characteristics of discrete structures. Course topics include algorithm analysis techniques, recurrence relations, structural induction, hierarchical structures, graphs, hashing, and sorting.
Lecture: Tuesdays and Thursdays, 3:30 - 4:45 p.m., CESL 102
Enrollment Requirement(s): Computer Science Advanced Standing. CSc 210 and CSc 244.

In particular, you are expected to know the Java programming language; to be able to design, code, and debug programs consisting of hundreds of lines of object-oriented code; to understand and use basic common algorithms (e.g., sorting) and data structures (e.g., stacks); and to understand and apply basics of discrete mathematics, including the interpretation and creation of formal proofs.
Credits: 3
Final Exam: Wednesday, December 18, 2024, 3:30 p.m. - 5:30 p.m. The final is required, is comprehensive, and will be given on this date at this time. Make your travel plans accordingly.

Class Personnel:

Name Office Email (@arizona.edu) Phone Office Hours
Instructor Prof. Lester I. McCann G-S 819 mccann 621-3498 See Piazza
Grad TA Rubin Yang TBD yuchan0401 ----- ... or D2L
UGTA Lucas Almeida TBD ldalmeida ----- ... for the OHs
UGTA Hamad Ayaz TBD hamadayaz ----- ... schedule!
UGTA Sohan Bhakta TBD sohanrbhakta ----- "
UGTA CJ Chen TBD schen9 ----- "
UGTA Hyungji Kim TBD hyungjikim ----- "
UGTA Hamlet Taraz TBD hamlet ----- "

Each of the TAs has successfully completed this class (or its equivalent) and is compensated by the Department of Computer Science to help me help you learn the material. They grade assignments, do the bulk of grading on the exams, let me know what topics seem to be especially baffling to the students, answer questions on Piazza, and hold office hours. I expect that you'll find the TA group to be a valuable resource.

We will each offer in-person office hours. The schedule will be announced as soon as we can create it. Please keep in mind that it is possible to meet with each of us outside of office hours, too. Contact us to make an appointment.

Information Resources:

D2L: CSC 345 FA24 001 All class materials will be available from this D2L page, but most of it is hosted on the class web site (see next link).
Homepage: http://www2.cs.arizona.edu/classes/cs345/fall24/ When you follow a link from D2L, odds are that the link will take you here.
Textbooks: CS3 Data Structures & Algorithms (OpenDSA Project) is the 'modern' version of the free on-line text that we'll be using for reference this semester.
Data Structures and Algorithm Analysis (PDF), by Clifford Shaffer, 2013, is the older PDF version.
Class Discussions: We will be using Piazza for outside-of-class questions, discussions and announcements.
Click here to access the CSc 345 Piazza Q&A board
.
Not already enrolled in this class in Piazza? Click here to signup .
CS Helpdesk: Need help with your lectura account, computers in the G-S 930 lab, etc.? Visit the Computer Science Lab Helpdesk for FAQs and the ability to submit a help ticket.

Course Goal, Objectives and Expected Learning Outcomes:

Topic Outline and Schedule:

Academic Dishonesty (i.e., Cheating):

See Also: • The Department of Computer Science Course Policy on Collaboration: http://www2.cs.arizona.edu/policies/collaboration.html
• The University of Arizona Code of Academic Integrity: https://deanofstudents.arizona.edu/policies/code-academic-integrity
• The Arizona Board of Regents list of Prohibited Conduct: https://public.powerdms.com/ABOR/documents/1491965
• The Arizona Board of Regents Student Code of Conduct: https://public.powerdms.com/ABOR/documents/1491970 (in particular, see part F, "Prohibited Conduct")
• University Libraries' "Avoid Plagiarism" Page: https://lib.arizona.edu/research/write-cite/plagiarism

Most, if not all, assignments in this class will be individual assignments, to be worked on outside of class. All individual work assigned to you in this class is to be completed only by you. It is not acceptable for you to `borrow' (a.k.a. steal, copy, coerce, etc.) solutions or parts of solutions from other entities (people, books, web sites, artificial intelligences, etc.) or have other entities create part or all of your solutions for you. Yes, acquiring answers and solutions via the Internet is a violation of academic dishonesty! However, it IS acceptable (and encouraged!) for students to help one another understand the assignment requirements and other high-level issues. In short, do your own work, but feel free to discuss conceptual difficulties with each other. Of course, you may always ask me or a TA for help, but don't expect that we'll just hand you solutions; we'll make you work for them. Doing is learning!

The class policy on cheating is simple: If we determine by a preponderance of the evidence that a student or students violated one or more of the policies of academic conduct governing this class, at minimum all complicit students will receive no points for the academic activity or activities in question. Additional sanctions are possible depending on the circumstances of the offense(s) and the policies of the department, university, and Arizona Board of Regents, up to and including expulsion from the university. Academic integrity infractions are reported to both the Dean of Students and the Dean of the College of Science. If you have a history of violations, the penalty is likely to be much worse than just a zero on an assignment. Multiple violations in this class will result in a recommendation of a failing course grade, at minimum. We take academic dishonesty very seriously, as you should be able to tell; we expect you to take it just as seriously.

Please take the time to read the references linked above. Ignorance of the policies is not an acceptable excuse for their violation. For your convenience, here is the section of the University's Code of Academic Integrity entitled "Prohibited Conduct":

Conduct prohibited by this Code consists of all forms of academic dishonesty, including, but not limited to: 1. Cheating, fabrication, facilitating academic dishonesty, and plagiarism as set out and defined in the Student Code of Conduct, ABOR Policy 5-308-E.11, and F.1. 2. Submitting an item of academic work that has previously been submitted or simultaneously submitted without fair citation of the original work or authorization by the faculty member supervising the work. 3. Violating required disciplinary and professional ethics rules contained or referenced in the student handbooks (hardcopy or online) of undergraduate or graduate programs, or professional colleges. 4. Violating discipline specific health, safety or ethical requirements to gain any unfair advantage in lab(s) or clinical assignments. 5. Failing to observe rules of academic integrity established by a faculty member for a particular course. 6. Attempting to commit an act prohibited by this Code. Any attempt to commit an act prohibited by these rules shall be subject to sanctions to the same extent as completed acts. 7. Assisting or attempting to assist another to violate this Code.

The bottom line: Do your own work! If you have any doubts, please come talk to us -- before you do something you might regret.

Grades and Grading:

See Also: • UA General Catalog's Grades and the Grading System: https://catalog.arizona.edu/policy/courses-credit/grading/grading-system
  • Family Educations Rights and Privacy Act (FERPA): https://www.registrar.arizona.edu/privacy-ferpa/ferpa

Class Policies:

University and Department Policies:

Caveat:

The information contained in this syllabus, other than the grade and absence policies, are subject to change with reasonable advance notice, as deemed appropriate by the instructor. Whenever possible, changes will be announced to the class before the on-line version of this document is altered.