Top Banner

of 17

programminh

Apr 04, 2018

Download

Documents

sagarfrom
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
  • 7/30/2019 programminh

    1/17

    Nurturing Future Programmers

    Steven & Felix HalimSchool of Computing,

    National University of Singapore

  • 7/30/2019 programminh

    2/17

    Training ACM ICPC Teams

    in your University

    Extracurricular Activity

    ?

    Seniors train juniors

    Or students learn on their own

    Minimal faculty involvement

    Variable results

    No incentive other than self glory

    Seniors attract few juniors only

    Perhaps lack of continuity

    Formalized as Module

    ?

    Taught by faculty member(s)

    Plus qualified teaching assistants

    (e.g. ex-world finalist)

    All students know lower bound

    knowledge to do well in contests

    Clear curriculum

    Students get University grades

    Attract bigger pool of students

    Continuity of programming teams

    Top & still eligible studentsusually do not share (all)

    secrets to their juniors

    I hope most of

    us here are inthis category

  • 7/30/2019 programminh

    3/17

  • 7/30/2019 programminh

    4/17

    CS3233 Format

    CS3233

    Competitive Programming

    Special Class @ National University of Singapore (NUS)

    For students with interest in problem solving Small group of ~

  • 7/30/2019 programminh

    5/17

    GREEDY

    DYNAMIC PROGRAMMING

    COMPLETE SEARCH DIVIDE & CONQUER

    PLANE SWEEP

    GRAPH

    MATHEMATICS

    BIOINFORMATICS

    COMP. GEOMETRY

    DATA STRUCTURES LIBRARIES

    Suffix Tree/Array

    DFS BFS TopoSort Kruskal Bellman Ford Dijkstra Floyd Warshall

    Network Flow++ Graph Theory

    Backtracking Binary Search

    Top-Down/Bottom-Up

    Number Theory Big Integer Modulo Arithmetic

    String Alignment String Matching

    Predicate Tests Convex Hull Closest Pair

    Array/Vector/Stack/Queue Map/Set/Priority_Queue

    Graph Data Structures Union-Find Disjoint Sets Segment Tree

    Space Saving On Tree Speed UpStates Formulation

    Hungarian Edmonds etc

    Bisection Method

    etc

    Customize-able for IOI training

    by omitting non IOI materials

    etc

    etc

    etc

    etc

    Tarjans

  • 7/30/2019 programminh

    6/17

    CS3233 Competition

    Teaching methodology:

    Lectures + COMPETITION! Many local contests throughout the 13 weeks in semester

  • 7/30/2019 programminh

    7/17

    CS3233 Benefits (1)

    Benefits for Students:

    Gain more knowledge

    At least the lower bound problem solving knowledge

    Get sparring partners Training alone is usually not fun

    Get an official grade

    Not just an Extracurricular Activity

    More well prepared for ICPCs (and IOIs) Better ranking

  • 7/30/2019 programminh

    8/17

    CS3233 Benefits (2)

    Benefits for University:

    Can spot/attract juniors with talents

    Thus creating wider pool of potential students

    Who knows and well versed in contest materials tested in ICPC Coach has good headache

    More than just 3 students can compete to be in the 1st team

    Higher ranked teams

    Better reputation

  • 7/30/2019 programminh

    9/17

    CS3233 Challenges

    1. Manpower

    Instructor?

    Teaching assistants?

    2. Students

    How to attract top students? Unbalanced class?

    3. Assessment

    How to prepare original + high qualityprogramming contest problems for assessment?

    4. Course Materials

    Are available ds/algo text books sufficient?

    How about programming contest specific books?

  • 7/30/2019 programminh

    10/17

    CS3233 Our Way (1)

    1. Finding Appropriate Manpower

    We (NUS) are simply lucky

    We have few ex-world finalists coming to NUS in 2008

    But still, regeneration is very important!

    Invite guest lecturer for topics that we are not good at

    2. Attracting Students

    Advertise the module University-wide each AY

    Offer them chance to join ICPC

    Unbalanced Class

    Set contest problems of varying difficulties

  • 7/30/2019 programminh

    11/17

    CS3233 Our Way (2)

    3. Issues of creating new/original

    problems for contests

    Create some by yourselves

    Rephrase some existing problems Hire appropriate TAs (ex-world finalists)

    Set this homework: Be a problem setter

  • 7/30/2019 programminh

    12/17

    CS3233 Our Way (3)

    4. Course materials issue

    There are not many programming

    contest textbooks out there

    Textbook has difficulty in keeping pacewith novelties and difficulties of

    recent ICPC problem sets

    Thus, we also train using Internet tools

    The next few slides show some examples

    In Chinese

    2003,2008,2009

    2006, mostly from my

    old website, outdated

    If you know any other books,please let me know

    2003

    Updated soon?

  • 7/30/2019 programminh

    13/17

    Information & Communications Technology (ICT) Tools

    UVa Online Judge

    ACM ICPC Live Archive

    Felixs Hunting UVa Problems Plus Many Other Scripts

    Stevens Methods to Solve

    Other peoples tools: Marks UVaToolkit

    Joses Mooshak (U Porto)

    TopCoder,

    and many others

  • 7/30/2019 programminh

    14/17

    We are writing a book!

    Having Said That

    We (me & my brother Felix Halim)

    are currently writing a book!!

    Tentative Title:

    Competitive Programming:

    Increasing the lower bound knowledge in programming contests

    Target audience:

    Grey/Green/Blue

    coders borrowingthe TopCoder

    rating style

  • 7/30/2019 programminh

    15/17

    Our Books Vision

    Range of ACM ICPC

    regional contestants

    Range of ACM ICPC

    world final contestants

    2010

    2012 and beyond?

    Our (and)

    other books

    published

  • 7/30/2019 programminh

    16/17

    CS3233 Results

    Before August 2008 (no CS3233):

    Hon Mention ICPC WF @ 2005

    Did not qualify for WF 2006

    Also did not qualify for WF 2007

    Still did not qualify for WF 2008

    After August 2008 (CS3233 Re-Started):

    Hon Mention @ Stockholm, Sweden ICPC WF 2009

    3rd place @ Kanpur Regional 2008

    Singapore team for IOI09 @ Plovdiv Bulgaria: 2 silvers and 2 bronzes ? in ICPC World Final @ Harbin, China, 2010 (This Week)

    2nd place @ Phuket Regional 2009

    Future: ?

  • 7/30/2019 programminh

    17/17