Computer Science SaturdaysBETA

Cutting-edge knowledge makes our graduates hot in the job market. Deep understanding of computer science and software engineering helps them build long and fulfilling careers. Fullstack Academy is proud to present our rigorous and dedicated Computer Science curriculum, which is unique within the immersive coding school space.

Computer Science Saturdays is designed to show our students the building blocks of the modern tools that they use. Students will build their own version control system (Git), database (Postgres), compiler and React-like framework. CS Saturdays also includes explorations of Artificial Intelligence/Machine Learning and Web Security.

COMPILER THEORY

Ever wonder how a computer understands the program that you're writing? We're going to syntax analyzer and parser. Learn how computers go from text files into executable programs and execute static/run-time analysis, code generation and syntax highlighting. Understand how compilers and interpreters work and how to write your own to solve a variety of problems.

SECURITY

Cybersecurity continues to be an issue faced by web developers, companies and governments around the world. We'll explore tools like cryptography, network monitoring, traffic sniffing and binary disassembling to understand the tools that malicious hackers use to circumvent security systems. Students also attack (and defend) their own projects using various tools in a Capture the Flag game.

ARTIFICIAL INTELLIGENCE

Artificial Intelligence has always captured the public imagination from the days of Chess AIs and Computer Autoresponders to modern day Watson and AlphaGo. We'll build an AI to play board games and learn how computers "think" about problems and opponents. We'll also explore certain machine learning algorithms and how data can be clustered and grouped based on various properties.

VIRTUAL DOM

Virtual DOM view frameworks (Angular 2.0, React, Ember's Glimmer engine) has really captured the mindshare of developers in building modern web applications. Virtual DOM's speed, simple mental model and maintainability have made it a powerful tool in all JavaScript developer's toolbelts. We'll build our own Virtual DOM library and see the design and performance challenges involved in building performant real-time JavaScript applications.

VERSION CONTROL

Git (distributed version control system built by Linus Torvalds, creator of Linux) revolutionized the type of workflows that programmers can use to collaborate, especially in the open-source community. Learn the core data structures, diff algorithms and communication methods used by Git by building your own version control system. Know more than the major commands and dive deep into the underlying mechanics of how Git handles versioning.

DATABASES

Databases like Postgres and MySQL power the modern web and web sites live and die by database performance. Implement your own SQL database engine (queries, joins, indexing, insertion) and see the performance implications of different query types. While you probably won't use your own personal database in a production environment, it will greatly increase your confidence in solving data-related problems.

CS Saturdays will introduce you to some of the most interesting topics in Computer Science and give you a theoretical and practical framework to explore them further. Knowledge of these areas helps position Fullstack graduates for long, successful careers in software development.