CSE 3353 Course Syllabus
Spring 2013, T/Th 9:30am-10:50am, Caruth Hall Rm. 384
(Syllabus also available in PDF form.)
Phone: 214-768-3716 (x83716 on campus)
Office: Caruth Hall Rm 439
Office Hours: Tuesday 11am-12pm, Wednesday 2:30pm-3:30pm, and by appointment
Email Hours: I strive to respond to course-related emails within 24 hours on weekdays. Inevitably I may overlook some messages; if more than 24 hours has passed, feel free to send me a reminder.
Grader: Marie Vasek
Introduction to algorithm analysis, big Oh notation, algorithm classification by efficiency. Basic algorithm strategies and basic approaches to problem solving. Algorithms in hard- and software. Sorting and searching algorithms. Algorithms for arithmetic operations. Introduction to graph theory and graph algorithms.
A grade of C- or better in CSE 2353 - Discrete Computational Structures
Upon completing this course, students should be able to:
- apply canonical algorithms for a range of applications
- implement algorithms from written description or pseudocode using Python
- characterize the efficiency of algorithms using mathematical notation and by measuring execution empirically
- outline informal arguments assessing an algorithm's correctness
- reduce real-world problem specifications to subproblems that can be solved using the appropriate algorithmic technique
- Algorithm Efficiency Analysis
- Sorting and Search Algorithms
- Divide and Conquer Techniques (with Recurrence Relations)
- Graph Algorithms
- Combinatorial Search (Backtracking and Heuristic Methods)
- Dynamic Programming
Primary Textbook: "The Algorithm Design Manual, 2nd edition" -- Steven S. Skiena Electronic edition
A hard copy of the Algorithm Design Manual can be purchased from Springer for $24.95 through the electronic link.
I will also include selected readings from "Python Algorithms: Mastering Basic Algorithms in the Python Language", Magnus Lie Hetland. Electronic edition There is no need to purchase a physical copy of the Hetland book, as I will post PDF copies of selected pages for reading.
See the online schedule for up-to-date details and reading assignments.
There are 5 assignments, each equally weighted. Assignments will be turned in via Blackboard, along with a hard copy turned in in class.
The assignments cover each of the following areas:
- Analysis (efficiency, correctness, etc.)
- Sorting algorithms
- Graph algorithms
- Dynamic Programming
Each assignment will include a combination of written responses and Python programming. Students are strongly encouraged (but not required) to work in pairs on assignments. Students working in pairs should submit a single assignment for both students. Students working in pairs may not split the problems; instead, students are expected to work jointly on each problem in the assignments, including coding.
There are two midterm exams and a comprehensive final exam. The exams will include written problems selected and adapted from the textbook. The exams may also require hand-written pseudo-code or Python code. Exams will be closed-book, closed-notes and closed-Internet unless otherwise annonced.
Attendance and Participation Policy
I expect you to attend classes and participate in class discussions. I understand that occasionally circumstances may arise so that you must miss class. This is OK, but I would appreciate if you send me an email in advance letting me know that you won't be able to attend class. Chronically missing class is not acceptable, and I reserve the right to withdraw students from the course in the event of persistent absence.
I also expect that you will keep up with the reading. This means that you should have completed the reading listed on the schedule before the corresponding lecture.
The participation grade (5%) is based upon a combination of recorded attendance, completion of any informal daily assignments assigned in the previous class, and my assessment of your participation in class. I encourage active participation, and so I look favorably when students ask questions and attempt to answer questions raised during lecture. I look unfavorably on activities that demonstrate disengagement from the lecture, such as sleeping, browsing the web during class, etc.
- Assignments (30%)
- Midterm 1 (20%)
- Midterm 2 (20%)
- Final Exam (25%)
- Participation (5%)
I use standard percentage cut-offs when determining letter grades (e.g., [93-100] is an A, [90-93) is an A-, [87-90) is a B+, etc.). I do not use a curve in assigning grades, as I believe grading on a curve discourages collaboration among students. Occasionally, though, a particular assignment may be too difficult and so I reserve the right to adjust the score appropriately.
In order to reward progress in learning that occurs over the course of the semester, I will let students replace their lowest score on an assignment with their score on the final exam, provided that the final exam grade is higher than the lowest-graded assignment. For example, suppose you make an 82%, 88%, 90%, 95%, and 92% on the homework assignments and receive an 89% on the final exam. The 82% assignment grade is replaced by 89%, and the final exam is also treated as 89%.
Policy on Late Work
The range of topics covered in this class is substantial, and course material often builds on concepts introduced in prior assignments and exams. Consequently, it is essential that you do not fall too far behind. As a result, assignments really are due at the time stated in the course schedule. If you have not finished the assignment before it is due, please turn in what you have completed.
There are three exceptions to this policy. First, if you have an emergency (e.g., serious illness, death in the family), please let me know as soon as possible so we can work out an accommodation.
Second, students are given 4 lateness coupons for assignments (but not
exams) for use throughout the semester, with one coupon equal to a
24-hour extension. To redeem a lateness coupon, you must send an email
firstname.lastname@example.org with subject "CSE 3353 Lateness Coupon" BEFORE
the assignment is due. In the body of the email please let me know how
many coupons you wish to redeem. When redeeming lateness coupons you
must still turn in an electronic copy on Blackboard by the deadline
and a hard copy to CSE department secretary Debra McDowell.
The third exception to the strict deadline policy is for unforeseen circumstances that affect everyone: the power goes out on campus two hours before an assignment is due, for example. In this case, I will extend the deadline in a reasonable manner (e.g., extend by 24 hours after power is restored). I will post an announcement to Blackboard if such a circumstance arises.
Collaboration and Attribution
I encourage collaboration between students on assignments and when studying. Collaboration is an essential skill for engineering, not to mention life in general. Unless I say otherwise, feel free to discuss assignments with your classmates, including ideas for how to solve problems. Please do not, however, share code, equations, or written answers that solve an assignment directly with other students. The only exception is if you work with a partner on a homework assignment, in which case you can share with only that student. Solutions to homeworks should be written from scratch and must not be pieced together from other students.
It is also important to give credit to others when appropriate. If you implement an idea that you got from another student (or students), please say so. Furthermore, if you consult a web resource that directly assists you, please say so. As a reminder, it is also not acceptable to copy code or equations directly from a web resource that solves a problem on an assignment.
Policy on Academic Dishonesty
The SMU Honor Code defines cheating, plagiarism and facilitating academic dishonesty here:
Any student found doing any of the aforementioned activities will receive a failing grade in the course. Note that this includes copying code from the Internet or other resources without attribution. I also reserve the right to refer the case to the Honor Council.
It is my policy to not offer extra credit assignments on a per-student basis. To ensure fairness, extra credit may only be offered to all students, and would most likely take the form of a modest reward for attending an optional lecture, not an extra assignment.
Students needing academic accommodations for a disability must first be registered with Disability Accommodations & Success Strategies (DASS) to verify the disability and to establish eligibility for accommodations. Students may call 214-768-1470 or visit http://www.smu.edu/alec/dass to begin the process. Once registered, students should then schedule an appointment with the professor to make appropriate arrangements.
Religiously observant students wishing to be absent on holidays that require missing class should notify their professors in writing at the beginning of the semester, and should discuss with them, in advance, acceptable ways of making up any work missed because of the absence. (See University Policy No. 1.9 for details.)
University Extracurricular Activities
Students participating in an officially sanctioned, scheduled University extracurricular activity should be given the opportunity to make up class assignments or other graded assignments missed as a result of their participation. It is the responsibility of the student to make arrangements with the instructor prior to any missed scheduled examination or other missed assignment for making up the work. (See the University Undergraduate Catalog for details.)
Please note that this syllabus is subject to change. Any changes to the syllabus will be announced via Blackboard and displayed on the course website.