0% found this document useful (0 votes)
9 views25 pages

00-CourseIntroduction

The CS4501 Advanced Algorithms course, taught by Mark Floryan, aims to equip students with skills in solving optimization problems, data representation, approximation algorithms, and geometric problem-solving. The course includes in-person lectures, programming assignments, quizzes, and a final project, with attendance being mandatory and graded. Students will utilize resources such as Piazza for discussions and Gradescope for homework submissions, with a grading structure that emphasizes homework, quizzes, attendance, and the final project.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
9 views25 pages

00-CourseIntroduction

The CS4501 Advanced Algorithms course, taught by Mark Floryan, aims to equip students with skills in solving optimization problems, data representation, approximation algorithms, and geometric problem-solving. The course includes in-person lectures, programming assignments, quizzes, and a final project, with attendance being mandatory and graded. Students will utilize resources such as Piazza for discussions and Gradescope for homework submissions, with a grading structure that emphasizes homework, quizzes, attendance, and the final project.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 25

CS4501: ADV. ALGO.

COURSE INTRODUCTION
ADVANCED ALGORITHMS AND IMPLEMENTATIONS
MARK FLORYAN
COURSE OBJECTIVES

2
COURSE OBJECTIVES
Students who complete the course will:

• Solve challenging optimizations by modeling problems as linear programs


and using / understanding linear programming algorithms.
• Take advantage of representation structures of data to more efficiently
store and retrieve data.
• Apply analysis concepts to determine the efficacy of approximation
algorithms where the optimal solution is unlikely to be found.
• Gain an understanding of common algorithmic ideas when working with
geometric problems including convex hulls, and large geometric data sets.
• Be exposed to numerous small but useful algorithms that can be used as
common sub-routines to solve larger problems.
COURSE INTRODUCTION
LECTURES
• Lecture Time
• MWF 9:00 – 9:50 am @ Olsson Hall 018

• Lectures will be recorded and posted on Canvas -> Lecture


Recordings
• Using Panopto, so no live broadcast
• A note about recordings…they are a privilege, not a right.

• Lectures will cover course topics, example code, etc.


LECTURES

Lectures are held in-person, MWF (well, some Fridays)

- Mon. / Wed.: Traditional in-person lectures.


Attendance required (more on that later). Recordings
available for review.
- Friday: Combination of homework labs (I’ll explain
verbally), quizzes (2 of them), and cancellations
- Last four lectures: Are reserved for final project
presentations (more on that in a bit as well).
GENERAL INFO
• See syllabus on course website for general information
• Pre-requisites:
• CS 3100 (DSA2) if you are in the new curriculum (most of you, probably)
• CS 4102 (Algo) if you are in the old curriculum (Does this apply to
anybody anymore?)
• Math topics: proof by induction, proof by contradiction, etc. (Basically
everything in DMT 1)
• Data Structures: General proficiency with everything from DSA1 and 2.
• Teaching Assistants
• Undergraduates (3)
• Both will hold office hours, which will start next week
• Locations and hours mostly set on course website
• Also, we’ll use Piazza for questions.
• Post all questions about HW, topics, etc. to Piazza NOT email to instructors!
COURSE WEBSITE

https://markfloryan.github.io/advAlgo/

Contains most of the important info for the course:


- Homework
- Slides
- Syllabus
- Etc…
OTHER COURSE TOOLS

• Piazza: Use for course discussion among students and Tas


regarding course content
• Gradescope: For submitting homework and seeing your
grades, etc.
• Possible Google Forms when necessary…
• All of these will be linked from Collab and from course
website
GENERAL EXPECTATIONS
EXPECTATIONS
I view a course as a social contract between you and me. Here
is how I view the contract for this particular course:

What I am asking of you: What I will give in return:


- Lecture attendance is required - Not too much homework (six auto-
graded programming assignments)
- This classroom is a no
technology zone (except for - Limited lectures where I talk the
the projector, and certain whole time (only Mon. and Wed.)
Fridays) - Help solving the HW in class (more
later)
- On homework Fridays, work on
the problem and actively - Multiple Friday classes cancelled
engage - No Final Exam (small final project
instead)
- Plus all the normal expectations
(be respectful to your peers, - Quizzes will be short and simple,
etc.) relatively low stress (and only 2 of
them)
COURSE STRUCTURE / OVERVIEW
TEXTBOOK?
Most of the material comes sporadically from two different sources

 1) CLRS Algorithms Book ( a couple of selected chapters )

 2) https://cp-algorithms.com/ (website of curated algorithms)


TOPICS

• The course is divided into 7 high-level


topics
• 1: Fenwick Trees
• 2: Segment Trees
• 3: Linear Programming
• 4: Computational Geometry
• 5: Van Emde Boas Trees
• 6: Approximation Algorithms
• 7: Little Algorithms (Your final project)
HOMEWORK
• 6 Programming Challenges (Warm-up + 1 per first five
topics)

• Programming HW:
• Is written in Java, Python, or C++
• ICPC style programming challenges. Will give problem statement
and sample input output.
• You need to:
• Design and implement a working algorithm
• Come up with your own test cases if your code doesn’t work
• Make sure your code is fast enough / works on the biggest test cases
HOMEWORK SCHEDULE
• 6 Programming Challenges (Warm-up + 1 per first five
topics)

• Friday Before Due Date: Problem is revealed in class


and we spend class time working on the assignment. You
can freely discuss with one another during this time and I
will walk around and help.
• Wed. After That: Programming challenge is due
• Mon. After That: Everyone gets auto-extension of 5 days
if you need it. NO extensions for ANY REASON after that.
HOMEWORK GRADES

• Homeworks will be graded on a traditional percentage


scale:
• Out of 10 points (or similar)
• Based on the number of test cases that you pass
• Gradescope will give you this feedback
QUIZZES
• Short assessments of your knowledge across 2-3 modules
• Meant to ensure you have knowledge of the individual topics from
lecture to a sufficient degree.
• Usually about two pages worth of traditional exam material.

• Quiz Schedule as of right now:


• Fri., Mar. 7 Topics 1-3 from previous slide
• Fri., Apr. 18 Topics 4-5 from previous slide
FINAL EXAM

• No final exam in this class. Final project instead (See


next slide)
FINAL PROJECT
• In small groups, you will:
• Select a small(ish) algorithm to study and implement
• Develop a few slides to teach it
• Create a homework assignment that applies it (including the solution to the
problem)
• Teach it to the class (during last few lectures)

• I will get the algorithm choices to you by Spring Break with more
details.

• Due date is last few days of lecture (that is when presentations will
happen)
ATTENDANCE / PARTICIPATION
ATTENDANCE IS REQUIRED

• Why: Because I feel that your presence is how I will “prove” that
you have been exposed to the material. This justifies fewer
quizzes and fewer Friday classes.

• How: 20 names will be chosen at random from the roster each


class. If you are chosen and not present, you lose 2 percent on
final grade.

• When: All classes (including Friday homework lab days)

• Exceptions: None except UVa officially recognized religious


observances and SDAC accommodations
GRADING OVERVIEW
GRADING OVERVIEW

• Final letter grade will be a weighted average:

• Homework: 40 percent (split over about 6


homeworks)
• Quizzes: 30 percent (15 percent each)
• Attendance: 12 percent (2 percent off for each
miss)
• Final Project: 18 percent
I THINK THAT IS ALL…
• Any questions…

You might also like