Time: MW 11:45-1:30 (section 2) MW 4:45-6:20 (section 1)
Location: LS 307 (section 2), Harney 435 (section 1)
Professor: EJ Jung
Office: Harney 403A
Office Hours: MW 10-11:30am, or by appointment
I highly encourage you to make an appointment with me, and I'm available on Zoom (video conference) too.
Email: firstname.lastname@example.org (include 673 in the subject) - Piazza preferred
Teaching Assistants: Chengcheng Wang, Bingkun Yang
Contact: Use Piazza!
Office Hours: Bingkun - Mondays 6:30-8:30pm, Fridays 4-6pm in CSI 307 Chengcheng - Wednesdays 1:30-2:10pm, 3:25-3:55pm CSI 307 4:05-4:40pm CSI G12
You may also visit the CS Tutoring Center for help with this course.
Required: Cormen, Leiserson, Rivest, Stein Introduction to Algorithms, 3rd Edition
Grades will be given according to scores on written homework assignments, midterms and finals, according to the following percentages.
|Final (Comprehensive)||30%||Saturday, December 9th, 2017 5:30pm - 7:30pm (both sections)|
|A+ >100%||B+ ≥87%||C+ ≥77%||A ≥94%||B ≥84%||C ≥74%|
|A- ≥90%||B- ≥80%||C- ≥70%|
|F < 70%|
All students are expected to know and adhere to the University of San Francisco's Academic Honor Code. Go to https://myusf.usfca.edu/academic-integrity/honor-code for details. You must never represent another person’s work as your own. Any student may be asked to reproduce any of his/her work at any time. Failure to reproduce work in a timely manner will be considered academic dishonesty. Copying answers from other students or sources during an exam or homework assignment is a violation of the university’s honor code. This includes copying answers or other material from the web, and having anyone other than yourself complete your assignments. It also includes working too closely with another student. Collaboration or discussion that results in the same or very similar answer indicates that you have not placed enough independent work into your solution and is a violation of the honor code. Flagrant or repeat violations of the honor code will result in an F in the course, a report to the University Academic Integrity Committee, and a report to the Dean. At the discretion of the instructor, a less severe penalty may be imposed for minor or first offenses. This is at the sole discretion of the instructor and any violation may result in an F in the course. Examples of honor code violations include but are not limited to:
You are not allowed to search the web for solutions to the homework assignments. You are not allowed to use any solutions to previous version of this class in completing your homework assignments -- if you have any old solutions, throw them out now! While it is acceptable to discuss the homework problems at a high level with other students, you should not get into details, or tell another student the solution to a problem. You should write up the solutions to your homework problems entierly on your own. You should never look at the solutions of other students, or allow them to use your solutions.
Late homeworks WILL NOT BE ACCEPTED. If you have difficulty with an assignment, or some type of time conflict, the correct time to see me is before it is due. Trying to get an extension on the due date itself will lead to sympathy from the instructor, but no extension.
The exam portion of your grade will be based on two exams administered throughout the semester and one exam administered during the final exam period. You are responsible for being in class on the day of the exam. Make-up exams will be given only in the case of a medical emergency verified by a doctor's note.
If a student earns less than 60% on any two out of the three exams the student will get an automatic F for the class.
Students with Disabilities
If you are a student with a disability or disabling condition, or if you think you may have a disability, please contact USF Student Disability Services (SDS) at (415) 422-2613 within the first week of class, or immediately upon onset of disability, to speak with a disability specialist. If you are determined eligible for reasonable accommodations, please provide me with your SDS Verified Individualized Services and Accommodations (VISA) form, and we will discus your needs for this course. For more information, please visit: http://www.usfca.edu/sds or call (415) 422-2613.
I would like to hear from anyone who has a disability which may require seating modifications or testing accommodations or accommodations of other class requirements, so that appropriate arrangements may be made. Please contact me during my office hours or make an appointment.
Upon successful completion of this course, you should be able analyze the running time and space requirements for complex algorithms, both recursive and iterative. You will understand a variety of fundamental computer science algorithms, and be able to modify them to solve related problems. Most importantly, you will improve your "algorithmic thinking" skills, and be better able to create novel algorithms for new problems.
Tentative Course Outline
The following is subject to change, given the interests/knowledge of the students
O(), Ω(), o(), ω() Θ()
Sorting & Selection
Heapsort, Quicksort, Randomized Quicksort, Mergesort
O(n lg n) Quicksort (worst case)
sub-O(n lg n) sorting
counting sorts, radix sort, bucket sort
Modifying Data Structures
Read/Black Trees & Interval Trees
Relation to Divide and Conquer
Matrix Chain Multiplication
Longest Common Subsequence
BFS / DFS
Other Topics (Time permitting)
RSA & Encription