Spring 2023
Time: MW 11:30AM - 12:45PM
Location: Atwood 240
Jinho Choi Associate Professor of Computer Science Office Hours → MW 4PM - 5:30PM, MSC W302F
Peilin Wu BS in Computer Science; BA in Physics and Astronomy Office Hours → TuTh 10:30AM - 12PM, MSC E308
Jeongrok Yu BS in Computer Science and Economics Office Hours -> MW 2:30PM - 4PM, MSC E308
Zinc Zhao BS in Computer Science; BA in Music Office Hours → TuTh 1PM - 2:30PM, MSC E308
1 + 10 topical quizzes: 70%
3 homework assignments: 30%
Your work is governed by the Emory Honor Code. Honor code violations (e.g., copies from any source, including colleagues and internet sites) will be referred to the Emory Honor Council.
Excuses for exam absence/rescheduling and other serious personal events (health, family, personal related, etc.) that affect course performance must be accompanied by a letter from the Office of Undergraduate Education.
For every topic, one quiz will be assigned to check if you keep up with the materials.
Homework assignments assess conceptual understanding, programming ability, and analytical writing skills relevant to this course.
All quizzes and assignments must be submitted individually. Discussions are allowed; however, your work must be original.
Late submissions within a week will be accepted with a grading penalty of 15% and will not be accepted once the solutions are discussed in class.
Spring 2023
Date | Topic | Assignment |
---|---|---|
01/11
01/16
MLK Holiday
01/18
01/23
(Continue)
01/25
(Continue)
01/30
02/01
(Continue)
02/06
02/08
(Continue)
02/13
(Continue)
02/15
02/20
(Continue)
02/22
(Continue)
02/27
03/01
(Continue)
03/06
Spring Break
03/08
Spring Break
03/13
03/15
03/20
(Continue)
03/22
03/27
(Continue)
03/29
(Continue)
04/03
04/05
(Continue)
04/10
(Continue)
04/12
04/17
(Continue)
04/19
(Continue)
04/24
Review
Jinho D. Choi
This is an advanced programming course in Computer Science that teaches how to design efficient structures and algorithms to process big data and methods to benchmark their performance for large-scale computing. Topics cover data structures such as priority queues, binary trees, tries, and graphs and their applications in constructing algorithms such as sorting, searching, balancing, traversing, and spanning. Advanced topics such as network flow and dynamic programming are also discussed. Throughout this course, students are expected to
Have a deep conceptual understanding of various data structures and algorithms.
Implement their conceptual understanding in a programming language.
Explore the most effective structures and algorithms for given tasks.
Properly assess the quality of their implementations.
There are topical quizzes and homework assignments that require sufficient skills in Java programming, Git version control, Gradle software project management, and scientific writing. Intermediate-level Java programming is a prerequisite of this course.