I am currently an instructor at the University of Maryland. I obtained my master's degree in computer science in May 2021. Before that, my bachelors of science in computer science and my bachelors of arts in philosophy in May 2020. I enjoy making small applications and scripts for automation. I also tinker with hobby robotics which stream on Twitch I can be contacted at cliffbakalian@gmail.com


Current Projects

Fog: a client side encryption service for cloud syncing purposes. GitHub

IoT Arm: An old robotic arm kit which I am adding a microcontroller to.

MIDI Light controller: A Midi keyboard to control light shows GitHub

Servers: I have a few servers where I host my own git repos, files and this website.

Past Projects

Avatar Sound Box: Sound box which plays ATLA lines and sounds GitHub and schcmatics

Corners: A game I co-designed. I made an android version. apk file here | GitHub

Endless Runner: My first attempt to create Android Applications. apk here.

DataLeague 2016: 24-hour Hackathon focused on datasets. See project here.

Tower of Hanoi Visualizer: Shows how to solve the Tower of Hanoi problem with graphics. jar file here

Text Based Puzzle Game: My first try at Java's graphics libraries. jar file here



2021- Current
Discrete Structures: A discrete mathematics course for computer science majors

Organization of Programming Languages: A cource focused on programming paradigms Syllabus

Graduate Teaching

A Tour of Programming Languages: Co-designed and Co-taught a course on programming paradigms Syllabus

Organization of Programming Languages: Graduate TA for a programming language concepts course Syllabus

Object Oriented Programming II: Head TA for an introductory programming course Syllabus

Undergraduate Teaching

Organiaztion of Programming Languages: TA for a programming language concepts course Syllabus

Discrete Structures: TA for a discrete mathematics course. Course Book

Object Oriented Programming II: Head TA for an introductory programming course Syllabus

Other Teaching Positions

Private Tutor: Tutor for Introduction to Computer Systems in the C programming language

Girls Who Code: Volunteer TA for the Girls Who Code Organization

Data Manager

Scripted data processing and storage for OMB Warehouse



Self Reasoning in Robots: Worked in Don Perlis's ALMECOM Lab working with active logic and self reasoning.
Live and Learn, Ask and Tell; Agents Over Tasks

Newsstand: Worked in Hanan Samet's lab where I updated parts of his iOS application NewsStand.


Graduate Classes

Privacy and Ethics in Data Management Systesms: How large amounts of data are scary. Studied a way to have machine unlearning with to comply with right to forget
Term Project

Computational Psycholinguistics: Built a failed pun generator
Term Project

Decision Making for Robots: Various learning techniques for AI. Built autonomous robots for indoor mapping.
Syllabus | Term Project

Wireless and Mobile Systems for the IoT: Signals and wireless systems Designed an acoustic indoor localization process.
Syllabus | Term Project

Empirical Research Methods: Proper research methods for CS research. Surveyed participants about phone sharing habits.
Term Project

Compiler Construction: Techniques for efficient compiler optimization. Performed binary analysis for decompilation.
Term Project

Graduate Networks and Security: Security applications and research. Analyzed certificate pinning in mobile applications.
Syllabus | Term Project

Undergraduate Classes

Compilers: Built a Racket Compiler in Racket

Computer Systems Architecture: Studied x86 Architecture

Computer Networks and Security: Designed secure systems and broke into unsecure ones using C.

Intro To AI: Built an AI in python for RaceTrack game

Advanced Data Structures: Implemented Various data structures in Lisp.