- Class 00 - 17-January-2023
- Class 01 - 24-January-2023
- Class 02 - 31-January-2023
- North American Qualifier - 5-February-2023
- Class 03 - 7-February-2023
- Class 04 - 14-February-2023
- ACM South Central Regional Programming Contest - 25-February-2023
- Class 05 - 28-February-2023
- Class 06 - 7-March-2023
- Class 07 - 21-March-2023
- Class 08 - 28-March-2023
- Class 09 - 4-April-2023
- Class 10 - 11-April-2023
- Class 11 - 18-April-2023
- Class 12 - 25-April-2023
- Class 13 - 3-May-2023 (Final)
Return to Class Main Page
Class 00: 17-January-2023
- Intro (to Isaac and class)
- Class policy
- Class outline/policy
- Intro/purpose (ICPC Facts (pdf))
- Grading policy
- Calendar
- web
- mailing list (icpc-practice)
- Office hours
- 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 (pdf)
- Review class summary (which you are doing now)
- Class outline/policy
- Upcoming Events
- ICPC NAQ
- ICPC Career Fair
- ICPC SCUSA Regional
- Typical Class
- Annoucements
- Humble Bundle
- PackT Pub books
- Person of the day -- importance of history, context
- Lecture/discussion
- Problem Analysis
- Annoucements
- 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 enhances 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
- UVA Yearly submisson statistics
Return to Class Main Page
Class 01: 24-January-2023
- Annoucements
- Humble Bundle
- PackT Pub books
- ICPC Virtual Career Fair
- ICPC NAQ 2023 (February 4, 2023), Registration
Person of the day
- Robert Metcalfe
- Designer of ethernet
- Founded 3com
- wikipedia
- Metcalfe's law - the value of a telecommunications network is proportional to the square of the number of connected users of the system (n2)
- The History of Ethernet
- Living legends: Ethernet inventor Bob Metcalfe
- The birth and rise of Ethernet: A history
- Awards:
- Approach to Programming Contest
- Teamwork in Programming Contests: 3 * 1 = 4
- Problem Set Composition
Return to Class Main Page
Class 02: 31-January-2023
- Annoucements
- Humble Bundle
- PackT Pub books
- ICPC NAQ 2023 (February 4, 2023)
- ICPC Virtual Career Fair Registration (February 15, 2023)
Person of the day
- Andrew S. Tanenbaum
- Operating Systems, Minix, Linux, microkernels
-
A refund for defective software might be nice, except it would bankrupt the entire software industry in the first year.
- Notion of "intelligent design", as applied to software
- Isolate components from each other so that they cannot interfere with each other - or even communicate unless there is a reason to do so
- Stick to the "principle of least authority"; no component should have more privilege than it needs to get the job done
- The failure of one component should not cause others to fail
- The health of components should be monitored; if one stops operating properly, the system should know about it
- One must be prepared to replace components in a running system
- wikipedia
- wikiquote
- Online Judge, uHunt, Udebug
- iLocal copy of Online Judge
Return to Class Main Page
North American Qualifier: 5-February-2023
Return to Class Main Page
Class 03: 7-February-2023
- Annoucements
- Humble Bundle
- PackT Pub books
- ICPC Virtual Career Fair Registration (February 15, 2023)
Person of the day
- Interesting articles
- ICPC NAQ 2023 (February 4, 2023)
- (*) 100 - The 3n + 1 problem Online Judge Cached
Return to Class Main Page
Class 04: 14-February-2023
- Annoucements
- Humble Bundle
- PackT Pub books
- ICPC Virtual Career Fair Registration (February 15, 2023)
Person of the day
- 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
- Folks for SCUSA Regional - teams?
- Problem Categories
Return to Class Main Page
ACM South Central Regional Programming Contest: 25-February-2023
Return to Class Main Page
Class 05: 28-February-2023
- Annoucements
- Humble Bundle
- PackT Pub books Registration (February 15, 2023)
Person of the day
- 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
- local copy of "goto considered harmful".
- Famous for
- SCUSA Regional
- continuum
- Array Tricks
- Flood Fill
Return to Class Main Page
Class 06: 7-March-2023
- Annoucements
Person of the day
- Vint Cerf
- Network design, TCP/IP
- wikipedia
- wikiquote
- Awards:
- Fellow of the ACM
- Turing Award
- Vint Cerf
- Articles
- SCUSA Regional
Return to Class Main Page
Class 07: 21-March-2023
- Annoucements
Person of the day
- Music
- Frustration
- Read Code
Return to Class Main Page
Class 08: 28-March-2023
- Annoucements
Person of the day
- Kenneth Iverson
- wikipedia
- wikiquote
- IBM Selectric (golf ball) typewriter was side project
- Awards:
- IBM Fellow, IBM
- Harry H. Goode Memorial Award, IEEE Computer Society
- Member, National Academy of Engineering (USA)
- Turing Award, Association for Computing Machinery
- Computer Pioneer Award (Charter recipient), IEEE Computer Society
- Kenneth Iverson
- APL - array language, predecessor to functional programming
- Dyalog APL - brief demo
- Big O
- Binary Numbers
Return to Class Main Page
Class 09: 4-April-2023
- Annoucements
Person of the day
- Donald Knuth
- Stanford web page (where he is Professor Emeritus)
- Wikipedia
- Art of Computer Programming
- WikiQuotes
- More quotes
- xkcd
- ACM Turing Award
- Brief biography
- Books
- Amazon -- Knuth books
- Kindle Store
- Articles about "The Art of Computer Programming"
- Overleaf (One of many online TeX services for collaboration)
- Donald Knuth
- My local copy of uva has temporarily moved to here
- Interesting video: How to visualize things
- Greatest Common Denominator
- Geometry
Return to Class Main Page
Class 10: 11-April-2023
- Annoucements
Person of the day
- Stephen Bourne
- Wikipedia
- Bourne Shell (wikipedia)
- Macros from SH
- Algol 68
- Advanced Debugger
- Stephen Bourne
- My local copy of uva has temporarily moved to here
- TED Talks example: Fibonacci Sequence
- (*) 10935 - Throwing cards away I Online Judge Cached
- (*) 12149 - Feynman Online Judge Cached
- (*) 10699 - Count the factors Online Judge Cached
- (*) 11875 - Brick Game Online Judge Cached
- (*) 12279 - Emoogle Balance Online Judge Cached
- (*) 10220 - I Love Big Numbers ! Online Judge Cached
Return to Class Main Page
Class 11: 18-April-2023
- Annoucements
Person of the day
- Niklaus Wirth
- My local copy of uva has temporarily moved to here
- CS: science or art
- The Algorithmist
- lnishan / awesome-competitive-programming
- Algorithms for Competitive Programming
- Problem Classification on Spanish Archive
- Sample Prgramming Contest Camp Syllabus
Return to Class Main Page
Class 12: 25-April-2023
- Annoucements
Person of the day
- 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
- Dennis Ritchie
- Brian Kernigham
- Ken Thompson
- My local copy of uva has temporarily moved to here
- Java Template added Courtesy Ford Morris -- anybody do better?
- Early Programming Languages
- Fortran (1954)
- LISP (1958)
- ALGOL (1958)
- Cobol (1959)
- RPG (1959)
- APL (1962)
- Simula (1962)
- SNOBOL (1962)
- BASIC (1964)
- PL/I (1964)
- LOGO (1967)
- Forth (1969)
- C (1969)
- Smalltalk (1970)
- Pascal (1970)
- Scheme (1975)
- SQL (1978)
- C++ (1980)
- Ada (1983)
- Objective C (1986)
- Perl (1987)
- Python (1990)
- Java (1995)
- PHP (1995)
Return to Class Main Page
Class 13: 3-May-2023 (Final)
- Final!
Return to Class Main Page