# CSE 3353 Course Syllabus

*Spring 2014, T/Th 9:30am-10:50am, Caruth Hall Rm. 161*

## Instructor Information

*Email:* tylerm@smu.edu

*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.

## Course Description

### Catalog Description

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.

### Prerequisites

A grade of C- or better in CSE 2341 - Data Structures

A grade of C- or better in CSE 2353 - Discrete Computational Structures

### Learning Outcomes

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

### Topics

- Algorithm Efficiency Analysis
- Graph Algorithms
- Divide and Conquer Techniques (with Recurrence Relations)
- Greedy Algorithms
- Dynamic Programming
- Intractability

## Textbook

Algorithm Design. Kleinberg and Tardos. Addison Wesley, 2005. ISBN: 0-321-29535-8.

## Course Calendar

See the online schedule for up-to-date details and reading assignments.

## Coursework

### Assignments

There are 4 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.)
- Graph algorithms
- Divide-and-conquer 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. Students may not work with the same partner on consecutive assignments.

### Exams

There are two midterm exams and a comprehensive final exam. The exams will include written problems; 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.

## Grading Policies

### Grade Distribution

- 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%, and 95% 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
to `tylerm@smu.edu`

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:

http://smu.edu/studentlife/studenthandbook/PCL_05_HC.asp

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.

### Extra Credit

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.

## Special Needs

### Disability Accommodations

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.

### Religious Observance

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.)

## Disclaimer

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.