All pages
Powered by GitBook
1 of 3

Loading...

Loading...

Loading...

Schedule

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

0. Getting Started
Quiz 0
1. Java Essentials
Quiz 1
2. Priority Queues
Quiz 2
3. Soring Algorithms
Homework 1
Quiz 3
4. Binary Search Trees
Quiz 4
5. Tries
Quiz 5
Homework 2
6. Disjoint Sets
Quiz 6
7. Graph
Quiz 7
8. Minimum Spanning Trees
Homework 3
Quiz 8
9. Network Flow
Quiz 9
10. Dynamic Programming
Quiz 10

Syllabus

Spring 2023

General

  • Book: https://emory.gitbook.io/dsa-java/

  • GitHub: https://github.com/emory-courses/dsa-java

  • Time: MW 11:30AM - 12:45PM

  • Location: Atwood 240

Instructors

  • 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

Grading

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

Notes

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

Preface

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.

Syllabus
Schedule