American Computer Science League
I have been coaching my daughter's ACSL elementary division club the last few months. American Computer Science League (ACSL) is an international computer science competition with more than 300 schools participating. It was founded in 1978. My daughter's school is one of the participating schools.
The ACSL club is run as an after-school club with different divisions. The beginner division is the elementary division, which includes grades 3 through 6. The ACSL Elementary Division consists of four non-programming contests. They are Number Systems, Prefix/Infix/Postfix Notations, Boolean Algebra and Graph Theory. Students write an exam for each contest at the end of the month.
In the Number Systems topic, the kids learn the different numbers systems including binary, octal, hexadecimal and of course, the decimal number system and conversions between these. There are also questions related to number conversions of values in RGB color codes and so on.
In the Prefix/Postfix Notation topic, kids learn about the various notations related to expressions. Postfix uses the stack notation. Lisp (including Emacs el files) and Clojure use the prefix notation. The regular everyday math expressions we use follow infix notation. This topic involves conversion between notations and evaluation of values in prefix and postfix notations.
In the Boolean Algebra topic, kids learn the various Boolean laws. Some of these are associative laws, distributive law, commutative law, DeMorgan law and absorptive law. Kids also learn to use truth tables and simplify boolean expressions. It's a great way to introduce kids to logic and basics of electronics.
The last contest is Graph Theory. Kids learn about vertices, edges and various types of graphs. Other areas include Euler's graph, trees, connected/disconnected graphs, undirected/directed graphs, graph traversals, etc. In one of my classes, the kids used graph theory to study the effects of quarantine to prevent the spread of coronavirus using adjacency matrix and adjacency lists.
I like to use everyday topics and try to relate practical applications in my class so that the topic doesn't get too monotonic. I also try to include active participation in my students. Next year, I plan to teach a programming division as well. My language of interest is Python.
If you have taught ACSL or something similar in your child's after-school clubs, what methods do you use to get your students to be active participants? Do you give homework or projects to your students? Let me know. Thank you.
Created on 15 March 2020
If you liked this article, follow us on Facebook and Twitter (@aruljohn).