ACSL(American Computer Science League) Prep

Computer Science is a science of abstraction -creating the right model for a problem and devising the appropriate mechanizable techniques to solve it.

– A. Aho and J. Ullman

Context Schedule

There are four contests during the regular season. The window during which each contest can be accessed on HackerRank is as follows.

  • Contest #1: available Oct. 31, 2022; closes Sunday January 15, 2023 @ 11:59pm EST
  • Contest #2: available Dec. 26, 2022; closes Sunday March 5, 2023 @ 11:59pm EST
  • Contest #3: available Jan. 30, 2023; closes Sunday April 9, 2023 @ 11:59pm EDT
  • Contest #4: available March 6, 2023; closes Sunday May 14, 2023 @ 11:59pm EDT

Course Introduction

This course will prepare our elementary students (Grades 3-6) for the Elementary Division contest in the American Computer Science League. The goal is to teach algorithmic programming, problem solving using computers and prepare students for ACSL and programming competitions in general.

Each ACSL elementary contest for basic knowledge of CS theory. Topics include Number Systems, Boolean Algebra, and Graph. This course will also introduce concepts on strings, arrays, etc for preparing them for future coding programs.

Computer Science & Competition Intro

Computer Number Systems- 10 Lessons

Session 1

1.Binary number system

2.Octal and Hexadecimal Number

3.Converting binary digits for Octal and Hexadecimal number

4.Using Expanded Notation to Find Base 10 Values

5.Using Hexadecimal Numbers to Represent Colors

6.Adding and Subtracting in Other Bases

Prefix/Infix/Postfix Notation- 10 Lessons

Session 2

1.Mathematical Expressions

2.Translating from Infix to Prefix or Postfix

3.Evaluating a Prefix or Postfix Expression

4.Mid-term test for chapter 1 & 2

Boolean Algebra- 10 Lessons

Session 3

1.TRUE and FALSE

2.Using AND, OR, and NOT with Words or Operations

3.Truth Tables

4.Simplification and DeMorgan’s Law

5.Equivalent Expressions

Graph Theory -10 Lessons

Session 4

1.Defining a Graph

2.Different Kinds of Paths

3.Traversable Graphs