CS 2420 - Introduction to Algorithms and Data Structures
Syllabus for Fall 2024
Class Times:
Section 1(40143): MWF from 9:00 to 9:50 in Smith 116. Final is Monday December 9, 9:00 to 10:50.
Section 2(40872): MWF from 11:00 to 11:50 in Smith 116. Final is Monday December 9, 11:00 to 12:50.
Instructor: Barton T. Stander, Professor of Computer Science
E-MAIL: bart.stander@utahtech.edu
PHONE: 435.652.7973
OFFICE: North Burns 242.
Fall, 2024 Office Hours:
- MW from 1:00 to 2:50
- Whenever you can find me
- Or by appointment
House Rules:
DO NOT's: Don't do anything that would diminish the learning environment of another student. Don't play computer games. Don't browse the internet. Don't talk on your cell phone. Don't talk loudly or much at all while I'm lecturing.
DO's: Be Polite and courteous. Help the student next to you (quietly). Take a nap, if you need one. Read a book, if you are bored. Ask questions, if you are lost. Correct me, if I make mistakes.
Lab hours:
Click here
Course fee: $20, used to assist in maintaining CIT infrastructure.
Course Description:
Course for students in Computer Science and Computing and Design programs, or having interest in computer programming. This course will instruct students in the design and use of common data structures, lists, stacks, queues, trees, tables, hash tables, and graphs. Students will be required to complete several challenging programming projects.
Prerequisites: CS 1410 (Grade C or higher)
Objectives: At the successful conclusion of this course, students will be able to:
- Analyze the Big-O complexity of Algorithms and Data Structures. [CS/SE PLO #5]
- Discuss the basic principles of many software data structures, including efficiencies and tradeoffs. [CS/SE PLO #5]
- Implement and use several data structures including Trees, Hash Tables, Linked Lists, Stacks, Queues, and Graphs. [CS/SE PLO #1, #2, #4]
- Implement and discuss the relative advantages of several sorting algorithms. [CS/SE PLO #1, #2, #5]
- Parse and graph mathematical expressions. [CS/SE PLO #1, #2]
- Apply Recursion, when appropriate. [CS/SE PLO #1, #2]
Resources: There is no required text for this course. Class examples and homework use the free Python 3.x interpreter.
Attendance: Students are responsible for material covered and announcements made in class. School related absences may be made up only if prior arrangements are made. The class schedule presented is approximate. The instructor reserves the right to modify the schedule according to class needs. Changes will be announced in class.
Labs: There will be Labbies in the Smith Computer Center that may be helpful, especially in the beginning Computing courses.
Tests: There will be one or two midterms and a comprehensive final.
Homework: Homework will be graded on accuracy of function. Homework is due at 11:59p.m. on the date listed in the schedule, or as stated by the instructor during class. I cannot over emphasize the importance of starting early and getting all your assignments done before their due date. Programs that do not run correctly will receive no credit.
Ways to Turn In Homework:
- Show it to the Labbie in the lab, if there is one assigned to your class. The lab and Labbie hours will be announced and posted.
- Show it to the instructor during his office hours, or by appointment.
Late Policy:
Assignments are due at 11:59 p.m. on the date specified in the schedule, or due as announced in class.
I will allow a generous one week grace period to find me or a lab worker to pass off, but do not abuse this week. The assignments should be done when they are due.
After the grace week, assignments cannot receive any credit.
If you need to be gone on a test day, you must work that out with me in advance, and receive permission. Otherwise you cannot makeup the test.
Time Commitment: Courses at Utah Tech University should require about 45 hours of work per credit hour of class. Thus, a three credit class is designed to require about 135 hours of work on the part of the student. If you don’t have the time to spend on this course, you should probably rethink your schedule.
Cheating: Cheating will not be tolerated, and will result in a failing grade for the students involved. Cheating includes, but is not limited to, turning in homework assignments that are not the student’s work.
You are encouraged to work in groups while studying for tests, discussing class lectures, discussing algorithms for homework solutions, and helping each other identify errors in your homework solutions.
However, each student must create and type in their own solution. Any kind of copying and pasting is NOT okay. If you need help understanding concepts, get it from the instructor or fellow classmates. But never copy another’s code, either electronically or visually. Likewise, using code from the internet is considered cheating.
Grading: Programming assignments and tests each contribute half to your
Total Percent.
Your final grade is based on your Total Percent, as follows:
Percent |
Grade |
Percent |
Grade |
Percent |
Grade |
Percent |
Grade |
|||
94-100 |
A |
84-86.9 |
B |
74-76.9 |
C |
64-66.9 |
D |
|||
90-93.9 |
A- |
80-83.9 |
B- |
70-73.9 |
C- |
60-63.9 |
D- |
|||
87-89.9 |
B+ |
77-79.9 |
C+ |
67-69.9 |
D+ |
< 60 |
F |
Important Dates: For University-wide dates see: https://catalog.utahtech.edu/academiccalendar/
Disability/Accessibility Resources: UT welcomes all students and strives to make the learning experience accessible. If you are a student with a medical, psychological, or learning disability that may require accommodations for this course, you are encouraged to contact the Disability Resource Center (DRC) as soon as possible. You may request reasonable accommodations at any time during the semester; however, they are not retroactive. The DRC is located next door to the Testing Center in the North Commons Building (435-652-7516, drc@utahtech.edu, drcenter@utahtech.edu).
Title IX Statement:
Utah Tech University affirms its commitment to the promotion of fairness in all aspects of the educational institution. Harassment and discrimination - including sex/gender discrimination, gender identity, gender expression, sexual harassment, sexual misconduct, gender-based violence, dating violence, domestic violence, stalking, pregnancy or parental , family or marital status and or retaliation -not only disrupts our commitment to maintaining an environment in which every member of the University community is treated with respect and dignity, but may also violate University policy and federal, state, and/or local law.
Should you or someone you know experience behavior that is coercive, discriminatory, harassing, and or sexually violent in nature, or if you or someone you know has questions about their rights and options regarding such behavior, you are encouraged to contact:
- Hazel Sainsbury, Dir. Of Equity Compliance, Title IX Coordinator: 435-652-7747 (ext. 7747) hazel.sainsbury@utahtech.edu ; titleix@utahtech.edu
Incidents may also be reported directly to law enforcement, either separately or in conjunction with any report made to the University's Title IX Coordinator, and the University will aid in making contact if requested.
- Utah Tech University Police: 435-275-4300 or by calling 9-1-1.
Maintaining a safe University community is a shared responsibility. For more information on how Title IX protections can benefit you and help us keep a productive campus environment, visit titleix.utahtech.edu to learn more.
Email Disclaimer: You are required to frequently check your Utah Tech email account as important class and university information will be sent to this account, including bills, financial aid/scholarship notices, notices of canceled classes, reminders of important dates and deadlines, course information, and other information critical to your success at UT. To access your Utah Tech email account, visit mail.utahtech.edu. Your email account username is Digital-ID@utahtech.edu (e.g. D12345678@utahtech.edu). If you don't know or have forgotten your Digital-ID or password, please visit changepassword.utahtech.edu.