Main navigation | Main content
(Last revised 8/13/18)
Read this document carefully: it explains the structure and policies of the class, and we will assume that you know and understand all of the information contained here.
Meeting time and place:
Lecture (001): 11:15am - 12:30pm Tuesday and Thursday
Keller Hall 3-210.
Lecture (010): 6:30pm - 9:00pm Tuesday
Keller Hall 3-210.
Discussion:
Instructor:
Name | Nathan Taylor |
taylo740@umn.edu | |
Office | Keller Hall 6-199 |
This website is the primary source of information for the Day, Night, and Online sections of 4041. The Canvas sites for the class serve three purposes:
Email Use: Most emails for the class should be sent to:
f18_4041@umn.edu
This alias will forward your message to the instructor and all of the TAs. Make sure to use Reply All
when participating in an email conversation using the alias, so that all of the course staff can
continue to provide input. If you are emailing to ask for clarifications on a homework problem or
programming assignment, make sure you check the front page of the course website to see if it has
already been addressed.
The exception to this is grading complaints. If you are emailing us because you think your Written
Assignment was graded incorrectly, then you don't need to email the alias, just email the TA who
graded you and CC me (taylo740@umn.edu). I will not interfere in a grading dispute unless the TA is
clearly wrong or not following the grading guidelines I gave them for the problem, so this is mostly
between you and the TA. Below are the TA's emails:
Zechen Zhang: zhan5260@umn.edu
Prvakar Roy: royxx268@umn.edu
Liam Tyler: tyler147@umn.edu
Nikolaos Stefas: stefa125@umn.edu
Song Liu: liux3604@umn.edu
Arun Sharma: sharm485@umn.edu
Manish Keshri: keshr005@umn.edu
Robert Giaquinto: smit7982@umn.edu
Text: Cormen et al., Introduction to Algorithms 3rd edition.
Additional Resources (optional):
[1] Algorithms, 4th Edition
[2] Computer Science, An Interdisciplinary Approach, Chapter 4
[3] E. Horowitz and S. Sahni, "Fundamentals of Computer Algorithms", Computer Science Press, Rockville, MD, 1984.
[4] C.H. Papadimitriou and K. Steiglitz, "Combinatorial Optimization: Algorithms and Complexity", Dover Publications, Mineola, NY, 1998.
[5] D.E. Knuth, "The Art of Computer Programming", Addison-Wesley, Reading, MA, Volumes 1-4, Addison-Wesley, Reading, MA, 2011.
[6] U. Manber, "Introduction to Algorithms: A Creative Approach", Addison-Wesley, Reading, MA, 1989.
[7] A. Aho, J.E. Hopcroft, and J.D. Ullman, "Data Structures and Algorithms", Addison-Wesley, Reading, MA, 1983.
[8] R. Lafore, "Data Structures and Algorithms in Java", Sams Publishing, Indianapolis, IN, 2002.
[9] M. Goodrich, R. Tamassia, and M. Goldwasser, "Data Structures and Algorithms in Java", Wiley, Hoboken, NJ, 2014.
[10] R. Sedgewick and K. Wayne, "Algorithms", Addison-Wesley, Reading, MA, 2011.
General course description: The course objective is to provide fundamental paradigms for algorithm design with the supporting data structures.
Topics covered: Rigorous analysis of algorithms/implementation. Algorithm analysis, sorting algorithms, binary trees, heaps, priority queues, heapsort, dynamic programming, greedy algorithms, graphs, graph traversal, single source shortest path, minimum cost spanning trees, binary search trees, hash tables and hashing.
Grading: For all graded work, please address any concerns within one week of receiving the grade. After one week, no adjustments will be made. The grade breakdown for the course is as follows:
Programming Assignments (13 of them, lowest 2 dropped) 22% Written Assignments (13 of them, lowest 2 dropped) 22% Quizzes (7 of them, lowest 1 dropped) 24% Recitations (13 of them, lowest 2 dropped) 22% In-class Exercises (48 of them, lowest 8 dropped) 10%
Final grades will be assigned based the following scale:
93.0% -- 100.0% A 90.0% -- 93.0% A- 87.0% -- 90.0% B+ 83.0% -- 87.0% B 80.0% -- 83.0% B- 77.0% -- 80.0% C+ 73.0% -- 77.0% C 70.0% -- 73.0% C- 67.0% -- 70.0% D+ 60.0% -- 67.0% D 0.0% -- 60.0% F
For S/N grading, a satisfactory grade (S) requires a grade of 70.0% or above.
Programming Assignments:
Written Assignments:
Quizzes:
Recitations:
In-class Exercises:
UNITE:
Streaming video archives of class meetings are available to students registered in the on-campus section of this course on a TEN-DAY delay for the length of the semester (UNITE will not make media available to students enrolled in on-campus sections for any reason past the last day of finals, including when assigned an Incomplete by the instructor).
Access these videos through the UNITE Media Portal with your University of Minnesota Internet I.D. and password (this is what you use to access your University of Minnesota email account).
DO NOT ask the instructor or teaching assistants for technical or troubleshooting assistance with these streaming video archives – use the UNITE Troubleshooting FAQ or “Submit a Trouble Report to UNITE” link found on all pages within the UNITE Media Portal.
Technical FAQ: http://www.unite.umn.edu/streamingvideopodcasts/faq.html
UNITE Media Portal: https://www.unite.umn.edu
Scholastic conduct: The quizzes and the programming assignments must not be the result of cooperative work (unless the instructor indicates otherwise). Each student must work individually in order to understand the material in depth. You may discuss the issues but by no means, copy the quiz or the programming assignment of somebody else. Copying significant pieces of code from the internet constitutes cheating. Any student caught cheating will receive an F as a class grade and the University policies for cheating and plagiarism will be followed.
Incompletes: will be given only in very rare instances when an unforeseeable event causes a student who has completed all the coursework to date to be unable to complete a small portion of the work (typically the final assignment or exam). Incompletes will not be awarded for foreseeable events including a heavy course load or a poorer-than-expected performance. Verifiable documentations must be provided for the incomplete to be granted, and arrangements for the incomplete should be made as soon as such the unforeseeable event is apparent.
Disability Accommodations: We desire to make learning rewarding and fun for all students and make every attempt to accommodate anyone who has a desire to learn. If you require special classroom or test-taking accommodations, you need to contact the University Disability Services and also notify the instructor as soon as possible at the start of the semester (no later than 1 week prior to the first quiz).
Students Mental Health and Stress Managment: As a student you may experience a range of issues that can cause barriers to learning, such as strained relationships, increased anxiety, alcohol/drug problems, feeling down, difficulty concentrating and/or lack of motivation. These mental health concerns or stressful events may lead to diminished academic performance or reduce a student's ability to participate in daily activities. University of Minnesota services are available to assist you with addressing these and other concerns you may be experiencing. You can learn more about the broad range of confidential mental health services available on campus via http://www.mentalhealth.umn.edu/.