Summary
- Class 00 - 12-January-2021
- Class 01 - 19-January-2021
- Class 02 - 26-January-2021
- Class 03 - 2-February-2021
- Class 04 - 9-February-2021
- Class 05 - 23-February-2021
- Class 06 - 2-March-2021
- Class 07 - 9-March-2021
- Class 08 - 16-March-2021
- Class 09 - 23-March-2021
- Class 10 - 30-March-2021
- Class 11 - 6-April-2021
- Class 12 - 13-April-2021
- Class 13 - 20-April-2021 (Final)
Return to Class Main Page
Class 00: 12-January-2021
- Intro (to Isaac and class)
- Class policy
- Annoucements
- Humble Bundle
- PackT Pub books
- Person of the day
- Grading policy
- Calendar
- web
- mailing list
- Homework
- go to UVA Online judge and sign up for an account
- Send an e-mail to class@isaac.lsu.edu with your name and your UVA ID (numeric number, not username)
- Read student code of conduct, read Faculty handbook
- Review class summary (which you are doing now)
- Game - most things can be considered a game (if not all). Games tend to have the following attributes:
- Goal
- Rules
- Skill enhanced with practice
- Knowing the rules often enhinces chances of succeeding in a game (for example: Reading the student handbook is a good way to improve your chances at succeeding at being a student).
- Quote: 20 hours at the keyboard can save you 2 hours of planning
Return to Class Main Page
Class 01: 19-January-2021
- Explained virtue of UVA and contest problems/particpation in relation to getting/suceeding in job interviews
- UVA, uHunt and uDebug
Return to Class Main Page
Class 02: 26-January-2021
- NAQ - Feb 11 (7-10 PM Central)
- SCUSA Regional - March 6
- Person of the day: Donald Knuth
- Donald Knuth
- Stanford web page (where he is Professor Emeritus)
- Wikipedia
- WikiQuotes
- More quotes
- xkcd
- ACM Turing Award
- Brief biography
- Amazon -- Knuth books
- Article about reading "The Art of Computer Programming""
- Overleaf (One of many online TeX services for collaboration)
- Donald Knuth
- humble - Math for Programmers
- Continuum
- Teamwork in Programming Contests: 3 * 1 = 4
- Contest Approach
- External advice
Return to Class Main Page
Class 03: 2-February-2021
- NAQ - Feb 11 (7-10 PM Central)
- SCUSA Regional - March 6
- Person of the day: Richard Stallman
- Richard Stallman
- Fundamental idea: Free as in beer
In a nutshell, the word "free" has a couple of meanings and it's not always possible to tell in context which one the user meant. "Free as in beer" refers to the cost (i.e. money) of the software, while "free as in speech" refers to what you are allowed to do with the software.
- His personal Page
- Wikipedia
- WikiQuote
- GNU Project
- Free Software Foundation
- Fundamental idea: Free as in beer
- Richard Stallman
- humble - Math for Programmers, programming fundamentals, Make,
- Binary number storage
Return to Class Main Page
Class 04: 9-February-2021
- NAQ - Feb 11 (7-10 PM Central)
- SCUSA Regional - March 6
- Person of the day: Niklaus Wirth
- Niklaus Wirth
- "Books"
- humble - Math for Programmers, programming fundamentals, Make,
- Expert Python Programing
- Problem Categories
- Flood Fill
- Problems:
- (!) 412 - Pi Online Judge Cached
- (!) 392 - Polynomial Showdown Online Judge Cached
- (!) 371 - Ackermann Functions Online Judge Cached
- (!) 324 - Factorial Frequencies Online Judge Cached
- (!) 305 - Joseph Online Judge Cached
- (!) 305 - Joseph Online Judge Cached
- (!) 300 - Maya Calendar Online Judge Cached
Return to Class Main Page
Class 05: 23-February-2021
- NAQ - Feb 11 (7-10 PM Central)
- SCUSA Regional - March 6
- Person of the day: Alan Kay
- Alan Kay
- Array filters
- (!) 300 - Maya Calendar Online Judge Cached
Return to Class Main Page
Class 06: 2-March-2021
- SCUSA Regional - March 6
- PackT - Python Robotics
- Person of the day: Ken Thompson and Dennis Ritchie
- Ken Thompson
- Creator/co-creator of Unix, B (predecessor of C), GO, Plan 9, QED, ed, utf-8,
- grep
- Lot of work on regular expressions
- Wikipedia
- Awards include: Turing Award, IEEE Richard W. Hamming Medal, Fellow of the Computer History Museum, National Medal of Technology, Tsutomu Kanai Award, Japan Prize
- Chess
- Creation of endgame tablebase
- Creator of Belle
- Wrote "chess" for Unix (early chess program)
- Wikiquote
- Ken Thompson
Return to Class Main Page
Class 07: 9-March-2021
- NAQ - Feb 11 (7-10 PM Central)
- SCUSA Regional - March 6
- Person of the day: Steve Bourne
- Stephen Bourne
- Wikipedia
- Bourne Shell (wikipedia)
- Macros from SH
- Algol 68
- Advanced Debugger
- Stephen Bourne
- Review regional contest
- function, domain, range
- In math relations are relations such as f(x) = y. In a relation, a single x can map to multiple Y values (such as in a circle). Functions are a spcial type of relation where every X value maps exactly to 1 y value. The possible values for X are called the domain. The possible values for y are called the range. So a function maps the domain to the range. In software, a program can be thought of as a function. The input is the domain and the output is the range. When trying to prove the correctness of a solution (program), it is often necessary to test the program on various domain values to ensure the correct range values are being computed. Knowing which domain values to test is very important. We typically refer to the importnat values as boundary conditions. Discovering the domain boundary conditons makes it much faster to determine if your code is correct.
- Problem-set Guidelines - This is a set of guidelines that I suggest a contest problem set follow. In this regional, all but the second major point was met. I believe the fact that the teams were able to use three computers simultaneously combined with internet access significantly increased the number of solutions a team was capable of.
Return to Class Main Page
Class 08: 16-March-2021
- Competitive Prograramming
- Person of the day: Dijkstra
- Edsger W. Dijkstra
- Famous for
- He coined the phrase structured programming
- goto considered harmful
- Algorithms
- Dijkstra's algorithm
- DJP algorithm
- Dijkstra-Scholten algorithm
- Dekker's algorithm (generalization)
- banker's algorithm
- smoothsort
- shunting-yard algorithm
- tri-color marking algorithm
- concurrent algorithms
- distributed algorithms
- deadlock prevention algorithms
- mutual exclusion algorithms
- self-stabilizing algorithms
- wikipedia
- wikiquote
- Awards:
- Member of the Royal Netherlands Academy of Arts and Sciences
- Distinguished Fellow of the British Computer Society
- The Association for Computing Machinery's A.M. Turing Award
- Harry H. Goode Memorial Award from the IEEE Computer Society
- Foreign Honorary Member of the American Academy of Arts and Sciences
- Doctor of Science Honoris Causa from the Queen's University Belfast
- Computer Pioneer Charter Recipient from the IEEE Computer Society
- ACM/SIGCSE Award for Outstanding Contributions to Computer Science Education
- Fellow of the Association for Computing Machinery
- Famous for
- Edsger W. Dijkstra
- Andrew Sorenson - OSCON Keynote
- Fibonacci Numbers - Arthur Benjamin
Return to Class Main Page
Class 09: 23-March-2021
- style
- Problems:
- (!) 412 - Pi Online Judge Cached
- (!) 392 - Polynomial Showdown Online Judge Cached
Return to Class Main Page
Class 10: 30-March-2021
- Person of the day: Alan Turing
- Reviewed Style - recommended astyle for code reformatting
- Problems:
- (!) 371 - Ackermann Functions Online Judge Cached
- (!) 324 - Factorial Frequencies Online Judge Cached
- (!) 305 - Joseph Online Judge Cached
Return to Class Main Page
Class 11: 6-April-2021
- Person of the day: James Gosling
- James Gosling
- Programming languages, Java
- wikipedia
- Awards:
- Fellow of the ACM
- IEEE John von Neumann Medal
- The Flame Award USENIX Lifetime Achievement Award
- 50 Most Influential Computer Scientists
- TED Talks - showed talk about quadcopter athletes, I recommend at least one Ted Talk a week
- I Covered pages 265 through 280 ofCompetitive Programmer’s Handbook by Antti Laaksonen (sections on Computational Geometry)
- A first cut at Computational Geometry
Return to Class Main Page
Class 12: 13-April-2021
- Person of the day: Ken Iverson
- Kenneth Iverson
- Intel video(s) on chip architecture
- In the contest of coding style:
- Cheap, effective shelter for disaster relief
Return to Class Main Page
Class 13: 20-April-2021 (Final)
- Final given
- Fudge consumed
- Set Game Demo'd
- Discussion about evaluations, teaching, ...
Return to Class Main Page
- Annoucements