Summary
- Class 00 - 23-August-2016
- Class 01 - 30-August-2016
- Class 02 - 6-September-2016
- Class 03 - 13-September-2016
- Class 04 - 20-September-2016
- North American Qualifier - 24-September-2016
- Class 05 - 27-September-2016
- Class 06 - 4-October-2016
- EBRPL Maker Faire - 8-October-2016
- Class 07 - 11-October-2016
- Class 08 - 18-October-2016
- Class 09 - 25-October-2016
- ACM South Central Regional Programming Contest - 28,29-October-2016
- Class 10 - 1-November-2016
- Class 11 - 8-November-2016
- Class 12 - 15-November-2016
- Class 13 - 22-November-2016
- Class 14 - 29-November-2016
Return to Class Main Page
Class 00: 23-August-2016
- Announcements
- ACM Meetings
- ACM Comunity Meetups (study, arduino, ...)
- North American Qualifier September 24 (registration ends September 9)
- Baton Rouge Mini Maker Faire - October 8 (sponsored by East Baton Rouge Parish Library system
- ACM South Central Regional Programming Contest - October 29, 29
- Class policy
- Grading policy
- Calendar
- web
- mailing list
- contests
- Homework:
Return to Class Main Page
Class 01: 30-August-2016
- Announcements
- ACM Meetings
- ACM Comunity Meetups (study, arduino, ...)
- North American Qualifier September 24 (registration ends September 9)
- Baton Rouge Mini Maker Faire - October 8 (sponsored by East Baton Rouge Parish Library system
- ACM South Central Regional Programming Contest - October 29, 29
- Showed Sorenson OSCON Music video
- Covered some slashdot articles, talked about net neutrality was and how it is a double-edged sword
- Talked about a lot of available resources for solving UVA problems
- uva forums
- udebug
- toolbox
- Some talk about the famous tree problem (1003)
- went over problems: 579 (Clock Hands), 10920 (Spinal Tap)
Return to Class Main Page
Class 02: 6-September-2016
- Announcements
- ACM Meetings (Wednesday, Sept 7), Exxon, L3
- LSU Career Fair
- ACM Comunity Meetups (study, arduino, ...)
- North American Qualifier September 24 (registration ends September 9)
- Baton Rouge Mini Maker Faire - October 8 (sponsored by East Baton Rouge Parish Library system
- ACM South Central Regional Programming Contest - October 29, 29
- pointed out how on the uHunt page you could look the problems associated with Halim's book and use that to help pick which ones to do (they are sorted by category and marked with a difficulty rating).
- Talked bout this Quora article What have you gained from competitive programming? Once again, Programming contest is not everything and should not be the only thing you do -- but it can be a very useful and good thing.
- Went over the Problem Set Guidelines. Understanding what makes a good problem/problem set can help you approach solving problems. If you know the judges had these ideas in mind when writing hte problems, it should help you figure how to approach the problems
- Started going through the Approach Page (you really should read it
Return to Class Main Page
Class 03: 13-September-2016
- Announcements
- ACM Meetings - tomorrow IBM is coming
- ACM Comunity Meetups (study, arduino, ...)
- North American Qualifier September 24 (can still fill out 1 team until Friday)
- Baton Rouge Mini Maker Faire - October 8 (sponsored by East Baton Rouge Parish Library system
- ACM South Central Regional Programming Contest - October 29, 29
- Discussion about teaching
- What traits do good teachers have
- what traits do bad teachers have
- Different teachers have different effectiveness with different students
- Provide feedback to teachers
- Spend time teaching folks -- you will learn a lot
- Teachers need real feedback
- Looked at problems 12149 - Feynman. 10935 - Throw the cards away and 10699 - Count the factors. I suggested looking at 444.
- I redid 10699 to do the count instead of the classic way and instead of having the 2905th fastest time (0.040) I moved to the 1699 fastest time (0.010).
Return to Class Main Page
Class 04: 20-September-2016
- Announcements
- ACM Meetings
- ACM Comunity Meetups (study, arduino, ...)
- North American Qualifier September 24 (reistration CLOSED)
- Baton Rouge Mini Maker Faire - October 8 (sponsored by East Baton Rouge Parish Library system
- ACM South Central Regional Programming Contest - October 29, 29
Return to Class Main Page
North American Qualifier: 24-September-2016
Return to Class Main Page
Class 05: 27-September-2016
- Announcements
- ACM Meetings
- ACM Comunity Meetups (study, arduino, ...)
- Baton Rouge Mini Maker Faire - October 8 (sponsored by East Baton Rouge Parish Library system
- ACM South Central Regional Programming Contest - October 29, 29
Return to Class Main Page
Class 06: 4-October-2016
- Announcements
- ACM Meetings
- ACM Comunity Meetups (study, arduino, ...)
- Baton Rouge Mini Maker Faire - October 8 (sponsored by East Baton Rouge Parish Library system
- ACM South Central Regional Programming Contest - October 29, 29
- Nested IF vs Case vs Array
- Code to pass 3x3 filter over a 2d array
- code to process a 2d array spirally
- Problems: 11875 (Brick Game), 12279 (Emoogle Balance), 10220 (I Love Bg Numbers)
Return to Class Main Page
EBRPL Maker Faire: 8-October-2016
- The Baton Rouge Mini Maker Faire will be October 8th.
- Looking for folks to demo Arduino stuff!
- Note that this is during Fall Hoiday
Return to Class Main Page
Class 07: 11-October-2016
- Announcements
- ACM Meetings
- ACM Comunity Meetups (study, arduino, ...)
- ACM South Central Regional Programming Contest - October 29, 29
- Packt is having python and giving away a weeks worth of python books
- O'Reilly Is giving away free ebooks. This page includes Java and Python books (and others). The links at the bottom emnu also take you to other collections of free books. Firat name, last name and e-mail address are needed to download. All are available as PDFs and many are also available in epub and mobi.
- Reviewed the stuff from last week (code vs data), array spiraling
- Talked about Flood fill and how it works. Also showed how to use it to solve mazes in fewest steps (shortest path). Attempted to show that its method for shortest path is the exact same thing as happens in Djiksta's shortest path code.
- Talked about dynamic programming
- Wikipedia Dynamic Programming
- To solve a problem with dynamix programming, 2 conditions must be met:
- You must discover a recursive solution
- You must find a way to store cache reults to avoid redundant computation
- Typically DP comes from a recursive solution (such as a depth first search) where the tree instead of spreading out indefinitely, it folds back on itself (some of the branches converge -- think chess for a minute: four different first two move sequences can produce the exact same resultant board)
- So after you develop the recursive solution, you then look how to save partial results to avoid recomputation
- Typically, DP problems process some sort of tree, graph or matrix recursively. Once a value for a portion of the path is calculated it is saved so future visits to that point can simply use the value instead of recomputing it.
- The term memoization comes up this. This is basically a magic word for caching the partial results
- The term sub-problem also shows up -- basically this is the idea that you can define a solution to a pice (sub) of the puzzle
- Another term that shows up is Optimal substructure. This means that the problem can be solved optimally by solving sub-problems optimally.
- Summary: Develop recursive solution, figure out how to save partial results to avoid re-computation (prune the work)
- Also talked about recursion. Pointed out how recursion typically using a stack to store local variables sothat each recursive call has its own private local variables. Pointed out how this can quickly run you out of memory, Recursion can be "simulated" by a loop and a stack to keep state information in (exactly how most computer languages handel recirsive calls). If only a small amount of data needs to be retaind, a loop with a stack may use much less memory than a normal recursive call.
- Also had discussion that memory is an array and that is the only truly native data structure the computer has. Everything rlse is an abstraction to facilitate human thought.
Return to Class Main Page
Class 08: 18-October-2016
- Announcements
- ACM Meetings
- ACM Comunity Meetups (study, arduino, ...)
- ACM South Central Regional Programming Contest - October 29, 29
Return to Class Main Page
Class 09: 25-October-2016
- Announcements
- ACM Meetings
- ACM Comunity Meetups (study, arduino, ...)
- ACM South Central Regional Programming Contest - October 29, 29
Return to Class Main Page
ACM South Central Regional Programming Contest: 28,29-October-2016
Return to Class Main Page
Class 10: 1-November-2016
- Announcements
- ACM Meetings
- ACM Comunity Meetups (study, arduino, ...)
Return to Class Main Page
Class 11: 8-November-2016
- Announcements
- ACM Meetings
- ACM Comunity Meetups (study, arduino, ...)
Return to Class Main Page
Class 12: 15-November-2016
- Announcements
- ACM Meetings
- ACM Comunity Meetups (study, arduino, ...)
- Class will either be canceled or have a guest instructor. I plan to be at SC16.
Return to Class Main Page
Class 13: 22-November-2016
- Announcements
- ACM Meetings
- ACM Comunity Meetups (study, arduino, ...)
- Math is the Hidden Secret to Understanding the World
- Math Class Needs a Makeover
Return to Class Main Page
Class 14: 29-November-2016
- Announcements
- Class Final
Return to Class Main Page