Programming Competitions as a Basis for an Algorithms and Data Structures Course
description
Transcript of Programming Competitions as a Basis for an Algorithms and Data Structures Course
![Page 1: Programming Competitions as a Basis for an Algorithms and Data Structures Course](https://reader035.fdocuments.net/reader035/viewer/2022062519/56814f3a550346895dbcdf3d/html5/thumbnails/1.jpg)
Programming Competitions as a Basis for an Algorithms and Data
Structures CourseJohn Paxton
Montana State University
CCSC - NWFriday, October 12, 2007
![Page 2: Programming Competitions as a Basis for an Algorithms and Data Structures Course](https://reader035.fdocuments.net/reader035/viewer/2022062519/56814f3a550346895dbcdf3d/html5/thumbnails/2.jpg)
Outline
I. Course Overview
II. Assessment
III. Curriculum Ideas
IV. Discussion
![Page 3: Programming Competitions as a Basis for an Algorithms and Data Structures Course](https://reader035.fdocuments.net/reader035/viewer/2022062519/56814f3a550346895dbcdf3d/html5/thumbnails/3.jpg)
I. Course Overview
• http://www.informatik.uni-leipzig.de/~paxton/algorithmics
![Page 4: Programming Competitions as a Basis for an Algorithms and Data Structures Course](https://reader035.fdocuments.net/reader035/viewer/2022062519/56814f3a550346895dbcdf3d/html5/thumbnails/4.jpg)
Background
• Practical Applications of Data Structures and Algorithms
• The University of Leipzig
• Winter Semester 2006 / 2007
• 75 upper division students
• 4 credit, elective course
![Page 5: Programming Competitions as a Basis for an Algorithms and Data Structures Course](https://reader035.fdocuments.net/reader035/viewer/2022062519/56814f3a550346895dbcdf3d/html5/thumbnails/5.jpg)
Funding
• Fulbright Award
• Montana State sabbatical
![Page 6: Programming Competitions as a Basis for an Algorithms and Data Structures Course](https://reader035.fdocuments.net/reader035/viewer/2022062519/56814f3a550346895dbcdf3d/html5/thumbnails/6.jpg)
Course Goals
• Improve problem solving abilities
• Improve (Java) programming skills
• Improve technical English abilities
![Page 7: Programming Competitions as a Basis for an Algorithms and Data Structures Course](https://reader035.fdocuments.net/reader035/viewer/2022062519/56814f3a550346895dbcdf3d/html5/thumbnails/7.jpg)
Course Format
• 90 minute lecture
• 90 minute lab
• Weekly exercise (30%)
• Local programming contest (10%)
• Final exam (60%)
![Page 8: Programming Competitions as a Basis for an Algorithms and Data Structures Course](https://reader035.fdocuments.net/reader035/viewer/2022062519/56814f3a550346895dbcdf3d/html5/thumbnails/8.jpg)
Local Programming Contest
![Page 9: Programming Competitions as a Basis for an Algorithms and Data Structures Course](https://reader035.fdocuments.net/reader035/viewer/2022062519/56814f3a550346895dbcdf3d/html5/thumbnails/9.jpg)
Course Topics
• Simple Input / Output
• Base Conversions
• Large Numbers
• Combinatorics
• Strings
• Sorting
![Page 10: Programming Competitions as a Basis for an Algorithms and Data Structures Course](https://reader035.fdocuments.net/reader035/viewer/2022062519/56814f3a550346895dbcdf3d/html5/thumbnails/10.jpg)
Course Topics
• Grids
• Trees
• Graphs
• Dynamic Programming
• Artificial Intelligence
![Page 11: Programming Competitions as a Basis for an Algorithms and Data Structures Course](https://reader035.fdocuments.net/reader035/viewer/2022062519/56814f3a550346895dbcdf3d/html5/thumbnails/11.jpg)
II. Assessment
• Student
• Instructor
![Page 12: Programming Competitions as a Basis for an Algorithms and Data Structures Course](https://reader035.fdocuments.net/reader035/viewer/2022062519/56814f3a550346895dbcdf3d/html5/thumbnails/12.jpg)
Student Assessment
1. The course took a practical approach to problem solving. How did you like this approach?
0 – strongly dislike
1 – dislike
0 – neutral
12 – like
8 – strongly like
![Page 13: Programming Competitions as a Basis for an Algorithms and Data Structures Course](https://reader035.fdocuments.net/reader035/viewer/2022062519/56814f3a550346895dbcdf3d/html5/thumbnails/13.jpg)
Student Assessment
2. The majority of the lecture time was spent coding solutions to problems. How valuable was this technique?
2 – not valuable
5 – somewhat valuable
10 – valuable
4 – very valuable
![Page 14: Programming Competitions as a Basis for an Algorithms and Data Structures Course](https://reader035.fdocuments.net/reader035/viewer/2022062519/56814f3a550346895dbcdf3d/html5/thumbnails/14.jpg)
Student Assessment
3. How much did your problem solving skills improve during the course?
0 – none
5 – a little
9 – some
7 – a lot
![Page 15: Programming Competitions as a Basis for an Algorithms and Data Structures Course](https://reader035.fdocuments.net/reader035/viewer/2022062519/56814f3a550346895dbcdf3d/html5/thumbnails/15.jpg)
Student Assessment
4. How much did your programming abilities improve during the course?
0 – none
7 – a little
11 – some
3 – a lot
![Page 16: Programming Competitions as a Basis for an Algorithms and Data Structures Course](https://reader035.fdocuments.net/reader035/viewer/2022062519/56814f3a550346895dbcdf3d/html5/thumbnails/16.jpg)
Instructor Assessment
• Emphasize testing more
• Post alternate solutions
• Use a grading script
• Have students take final individually (pairs underperformed by 12.5%)
• Have students code in class
• Improve the assessment process
![Page 17: Programming Competitions as a Basis for an Algorithms and Data Structures Course](https://reader035.fdocuments.net/reader035/viewer/2022062519/56814f3a550346895dbcdf3d/html5/thumbnails/17.jpg)
III. Curriculum Ideas
• Problem solving course
• Programming contest course
• Study abroad course
• Integrate into existing courses (CS I, CS II, artificial intelligence, networks, etc.)
![Page 18: Programming Competitions as a Basis for an Algorithms and Data Structures Course](https://reader035.fdocuments.net/reader035/viewer/2022062519/56814f3a550346895dbcdf3d/html5/thumbnails/18.jpg)
IV. Discussion
• How to avoid a “hack-fest”
• Managing 75 students with no TA
• A peek at the website
![Page 19: Programming Competitions as a Basis for an Algorithms and Data Structures Course](https://reader035.fdocuments.net/reader035/viewer/2022062519/56814f3a550346895dbcdf3d/html5/thumbnails/19.jpg)
IV. Discussion
• Thank you!
• Any questions?