Boston University - Spring 2025
CAS CS 392 - Competitive Programming I
Course Staff
Name |
Office Hours |
Prof. Tiago Januario
|
Fridays, 1:00 p.m. - 3:00 p.m. at TBD
|
Teaching assistant: Champ Laksanawisit
|
TBD |
Course description
This course covers essential algorithms for competing in the ACM International Collegiate
Programming Contest (ICPC) and similar contests. Active involvement in weekly contests is a
mandatory component of the course. Topics covered include standard library classes and data
structures, competitive programming contest strategies, string manipulation, divide and conquer,
dynamic programming, graph algorithms, number theory, computational geometry, and combinatorics.
Student Learning Outcomes
A competitive programming course enhances participants' algorithmic problem-solving and data structure skills. It
emphasizes efficient code writing, improving proficiency in a specific language, and developing a competitive
mindset
with effective time management.
Course Objectives
The course emphasizes debugging techniques, mathematical and logical thinking, and fosters a competitive mindset.
Additionally, it covers problem-solving patterns, and encourages consistent practice to excel in coding competitions
and real-world software development scenarios.
Communication
-
We will use Piazza
for
online
discussions.
-
Do not send e-mails to the course staff.
- Feel free to ask or answer questions on Piazza.
- For sensitive, specific questions and solutions, use private posts.
Prerequisites
- CS131 - Combinatoric Structures, or equivalent.
- CS111 - Introduction to Programming I, or equivalent.
Grading Rubric
- Your grade will be based on the EMRN rubric.
- The rubric was created by Rodney Stutzman and Kim Race, where it originated as the "EMRF" rubric in a 2004 article in Mathematics Teacher magazine.
- The EMRN rubric is a four-level rubric for evaluating student work. It uses a simple flowchart to categorize student work into one of four bins:
Prerequisites
- CS131 - Combinatoric Structures, or equivalent.
- CS111 - Introduction to Programming I, or equivalent.
Grading Rubric
- Your grade will be based on the EMRN rubric.
- The rubric was created by Rodney Stutzman and Kim Race, where it originated as the "EMRF" rubric in a 2004 article in Mathematics Teacher magazine.
- The EMRN rubric is a four-level rubric for evaluating student work. It uses a simple flowchart to categorize student work into one of four bins:
We will evaluate each assignment to see whether it meets the specifications.
Here's the EMRN scale:
The two sections of the course, A and B, will be treated as one class.
The content of the two lectures is identical, assignments will be shared, students
can mix-and-match A and B lecture.
Syllabus
TBA
Schedule
This schedule is subject, and likely, to change as we progress through the semester.
Under construction...