Lecture 1 Getting Started

Programming Challenges

At its best, computer science is an exciting blend of programming, mathematics, and problem solving.

by Steven Skiena

This course will introduce an interesting variety of subjects in programming, algorithms, and discrete mathematics though puzzles and problems which have appeared in the International ACM Programming Contest and similar venues.

1.Getting Started

2.Data Structures



5.Arithmetic And Algebra


7.Number Theory


9.Graph Traversal

10.Graph Algorithms

11.Dynamic Programming


13.Computational Geometry


Average Rating:


  • How long can I learn the course?

    If the teacher set time requirement for the course, within the specified time range, you can learn the course lectures, teaching resources, teaching activities. Outside the specified time range, you can still view the course of teaching resources, but unable to participate in the teaching activities. If the teacher doesn't set time constraints on the course, you can learn at any time according to your own schedule.
  • What happens when I have problems in learning?

    You can ask teachers questions directly or send messages for help during live courses. For any courses, you can ask the teacher questions through audio or video

851 Learners of this course

Average Rating:

18 Reviews

6 notes have been published in this course


Steven Skiena is a Distinguished Teaching Professor of Computer Science at Stony Brook University. He is a co-founder and the Chief Science Officer of General Sentiment, a social media and news analytics company.His research interests include algorithm design and its applications to biology.
  • Computational Biology Free

    96 Learners
    This is a course in algorithmic issues in biology, focusing current problems in genomics.
  • Computational Finance Free

    146 Learners
    Computational finance and financial data analysis