Jefferson’s computer science department decided to open a new machine learning (ML) class for the 2020-21 school year. During the Curriculum Fair on Wednesday Jan. 15, underclassmen got the first introduction to what this new course will look like.
In recent years, the computer science field has seen an advent of new research projects accomplished with machine learning, essentially technology that allows a computer to analyze large datasets, formulate patterns and conclusions, and learn from these conclusions to predict such patterns in the future. It’s the basis of how programs like Netflix can give users movie recommendations and how email services automatically filter spam messages.
To explain, computer science teacher and lab director Dr. Zacharias gave an example comparing the implementation of the game Othello: how the project is carried out in the existing Artificial Intelligence (AI) class versus how it would be applied in Machine Learning.
“Instead of you having to figure out how to make a good move in Othello and then encode that information in a program [like you would in the AI class], you get your program to play millions of games and keep track of what it did, and how it worked out, and then try to sift through the patterns of all the games [to determine] what’s the good move,” Dr. Zacharias said.
With the increasing number of projects using ML techniques in the real world, it was only a matter of time before Jefferson senior research projects started to employ such techniques as well.
“A couple of years ago, we started to see an increasing number of projects proposed at the senior research level that would require some sort of machine learning. We thought we may have to bring along a machine learning course to give students the grounding they need [to accomplish such a] senior research project,” Zacharias said.
Indeed as the number of ML projects rises at Jefferson, the Parallel Computing course exits as it will no longer be available for the 2020-21 school year. Intended to be two semester classes, Machine Learning 1 & 2, Dr. Zacharias worked together with Dr. White to design next year’s ML curriculum, taking into account how the course would look at the university level, what types of projects they see in the senior research lab, and what kind of textbooks are available.
Since many of the resources for machine learning, such as the open-source machine learning platform TensorFlow, work best with Python, the course will also be taught in Python. After AP Computer Science, AI 1 & 2 are the computer science prerequisites for the ML course. Additionally, since the class contains about a week’s worth of high-level calculus, lab directors decided to make Multivariable Calculus a corequisite for 2020-21 but will re-evaluate whether or not such a decision is necessary after the first year.
Dr. Zacharias explained how Machine Learning, much like existing computer science classes, will primarily be a project-based course, with a few quizzes only to test important concepts. With no final and midterm, students are free to experiment and creatively write programs to solve problems.
“[The program must] make judgments based on its past experience, and as it continues to play it refines its ability to recognize good moves and make them on the board. Machine learning is about writing programs that can learn from their own experience,” Zacharias said.