Summer Term 1 Courses

Coming June 2017

 

In the past Hack University offered courses during the Winter, Summer, and Fall.

This year instead of having Fall classes, we are offering TWO rounds of courses during the summer!

Term 1: June 5th - July 27th. 

Term 2: August 14th - October 9th

 
proudunicorncat.jpg

Python Foundations

LEVEL: Entry 

START DATE: June 5TH, Mon + wed, 6-9PM

DURATION: 8 WEEKS

COST $850

DESCRIPTION: 

In this class, we will cover the basics of computer programming with the Python programming language.  We’ll cover how a computer parses and executes the code we write, how to structure our code so it is easily understood by the machine and other programmers, and how to break down complex problems into smaller ones - the first step to solving any coding problem.  While the previous skills are transferrable to any programming language, we’ll be using Python.  In doing so, we’ll familiarize ourselves with the most common Python features and gain a feel for writing idiomatic, ‘pythonic’ code that follows best practices.  Class time will be split between lectures, readings, and hands-on programming challenges that students attempt individually and in pairs.  The course will culminate in students coding a board game from scratch.  By the end of this course, you will be able to read and write code, build your own fully functional python programs, and analyze an existing codebase for modification or simply to gain a deeper understanding.

WHO SHOULD TAKE IT?

The ideal student for this course is a tinkerer and a builder. You should enjoy pulling things apart in order to understand how they work. Having a strong desire to build elegant systems is essential, as is the patience to work with them while they’re still under construction. Python is primarily used to build the engines behind powerful applications and automation scripts, so if you enjoy building strong infrastructure and core functionality, this course might be a good fit for you.

How do I know I’m Ready?

No prior technological experience is required. Concepts and vocabulary will be introduced throughout the class to establish a solid foundation that is requisite for more advanced courses. Programming is a challenging endeavor and a very foreign thought process - especially when first getting started.

Do I have the technology?

In class, we’ll make use of the following technologies (available on all operating systems).

  • python3

  • git
  • Terminal/Command Prompt

  • Code Editor (the instructor will be using VSCode in class)

  • Web Browser (Google is our friend!)
 
IMG_7063.JPG

Python II

LEVEL: Intermediate

START DATE: June 5th, Mon + Wed, 6-9pm

DURATION: 8 WEEKS

COST $850

 

DESCRIPTION: 

This course will focus on using Python to manipulate and gather data, connect to databases, and build APIs using the Django REST Framework. There will nightly lectures with hands on examples, as well as weekly code challenges that are completed in small rotating groups. Students will also build a final project that uses the skills they’ve learned to make a RESTful API which will expose data gathered during the course.

WHO SHOULD TAKE IT?

An Ideal student has a basic understanding Python, commonly used data structures, and can write basic Python programs with what they currently know. A desire to learn and the willingness to share that struggle with other students is also very important.

How do I know I’m Ready?

You should be able to write simple Python programs and be comfortable with a wide variety of methods in the core python API.

Do I have the technology?

Python 3, Pip, and Virtualenv will be used throughout the course.

 
rainbowcatglasses.jpg

JavaScript Foundations

LEVEL: Entry

START DATE: June 6th, Tues + Thurs, 6-9PM

DURATION: 8 WEEKS

COST $850

DESCRIPTION

This course will be a deep-dive into the ins and outs of JavaScript. We won't be learning any frameworks in this course, instead looking at the concepts of the language itself.

We’ll start by reviewing the basics. In the process we’ll get used to working with JavaScript both in the browser and the command line. Next, we’ll dive deep into some advanced JavaScript concepts that many people skip over, but you’ll need to understand in order to be a proficient JavaScript developer.

After that, we’ll spend the rest of the class learning some tools and concepts you’ll need in order to write programs for the internet, collaborate with other programmers, and approach your own tasks. We’ll learn about REST, APIs, asynchronous JavaScript, and design patterns. We will go beyond the basic sync abilities of Git, and learn to use Git and Github as collaborative workflow tools for developing software with other people. Finally, we will take a look at the iterative process and how to think about debugging.

As we work through these concepts, we will reinforce our learning through examples, exercises, and projects.

Who should take this course?

The ideal student for this course is a tinkerer and a builder. You should enjoy pulling things apart in order to understand how they work. Having a strong desire to build elegant systems is essential, as is the patience to work with them while they’re still under construction. JavaScript is primarily used to build the interfaces that the user ultimately sees and interacts with, so if you enjoy building quality interfaces, this course might be a good fit for you.

How do I know I’m Ready?

To be ready for this class you should know the basics of programming and JavaScript (variables, objects, functions, types, etc). You should also have experience building small projects using either front or back-end JavaScript (or another programming language). Even if you know the basics conceptually, without some prior programming/JavaScript practice under your belt you may struggle with the pace of this course.

Knowledge of basic HTML, CSS, Node, and Git are recommended and helpful, though prior students have done well in this course without knowing them beforehand.

Do I have the technology?

You will need an internet-capable laptop. Everything we will do can be done in a cloud IDE like Cloud9, or done locally on a Mac/Linux computer with a text editor, terminal, and Node.

 
IMG_7066.JPG

Web Development with ReactJS

LEVEL: Intermediate

START DATE: June 5th, Mon + wed, 6-9PM

DURATION: 8 WEEKS

COST $850

 

 

DESCRIPTION

It’s one thing to learn how to code, but it’s another thing entirely to learn how to actually be a developer. This course will not only cover the specific technology of ReactJS, but also the abundance of contexts, processes, and practices used to be an effective creator of code-based things. Students will learn about behavior driven development, version control, basic UX and prototyping techniques, debugging methods, and much more in addition to the core ReactJS view library.

Who should take this course?

The ideal student for this course has a strong desire to tinker, prototype, and build. You will frequently repeat the cycle of build, get stuck, get unstuck, build some more. You should see this as repeated opportunities to learn and grow rather than a frustrating bother. Attention to detail is a must as it is as easy as a single out of place comma to break an entire application.

How do I know I’m Ready?

You’re confident with JavaScript and have toyed with an external library or two (JQuery, D3, etc.). You’re tired of just reading and watching videos and are ready to roll up your sleeves and build in order to learn.

 
1472343003351.png

Databases foundations

LEVEL: intermediate

START DATE: June 6TH, TUES + THURS, 6-9PM

DURATION: 8 WEEKS

COST $850

DESCRIPTION

Discover the joys of thoughtful database architecture while cementing yourself as the backbone of a team that makes data come to life. This class covers all the tools you'll need to architect your data layer. Starting with the basics of collecting and preparing data, we'll teach you how to masterfully architect a database, efficiently query data in the database, and make it available outside the database. The course will focus around PostgreSQL, but the principles learned can be applied to any database technology.

Who should take this course?

The ideal student for this course is concerned with elegant and efficient structures. If you’re the kind of person that enjoys creating order that others can find stability from, you’ll thrive in this line of work.

How do I know I’m Ready?

You should be experienced with Python to the point of being able to build basic APIs with Django. This course can be taken concurrently with Python II to get you up to speed with more robust APIs in parallel with growing your database skills.

 
sunglasstriocat.jpg

data science

LEVEL: INTERMEDIATE

START DATE: June 6th, TUES + THURS, 6-9PM

DURATION: 8 WEEKS

Cost: $850

DESCRIPTION

This course will equip you with tools and strategies for translating real world problems into quantitative terms, and will introduce analytical tools and techniques for generating quantitative results. It will utilize mathematical concepts from statistics and algebra in conjunction with the powerful scripting capabilities of python to chew through data sets large and small efficiently and accurately.

Who should take this course?

The ideal student for this course is a natural detective. Data science requires extreme attention to detail and concern for accuracy and integrity of information. If you’re the kind of person that turns over every rock and searches around every corner for what might be hidden, you might be a great fit for this course.

How do I know I’m Ready?

This course is heavy on math (statistics, probability, and algebra) and python, so knowledge of these subjects is crucial. You’ve ideally dug into an open data set or two and wished you had a better way to digest and disseminate it all. 

 
newyorkcat.jpg

Data driven marketing

LEVEL: intermediate

START DATE: June 5th, MON + WED, 6-9PM

DURATION: 8 WEEKS

COST $850 

 

 

DESCRIPTION

As data continues to find it’s way into every corner of our lives, marketing must adapt to embrace new conditions and expectations. Just as data drives our technologies and products, it must also drive the marketing behind them. Learn to use data as a powerful perspective on your markets before, during, and after your product gets in your customer's’ hands.

This course builds on the projects of the marketing and branding course from the Winter term. It will use Hack Oregon’s marketing campaigns as a case study and platform for applied learning.

Who should take this course?

The ideal student for this course emphasizes a balance between empathy and attention to detail as this course is a balance between creative design and data analysis. If you’re the kind of problem solver who constantly seeks to strike the right tone and craft the ideal message, you might be a great fit for this course.

How do I know I’m Ready?

You should be familiar with core digital marketing concepts and trend analysis. The course has a considerable design focus, so proficiency in graphical tools such as Photoshop, Illustrator, and Sketch is important.

 
IMG_7064.JPG

Infographic design

LEVEL: intermediate

START DATE: June 6th, tues + thur, 6-9PM

DURATION: 8 WEEKS

COST $850 

DESCRIPTION

Your data is only as good as your ability to understand and communicate it. Selecting the right visualizations can be tricky. This course will explore how to find the story in your data and will introduce tools and resources to visualize it.

Who should take this course?

The ideal student for this course is concerned with visual storytelling. Infographics are a powerful medium through which to convey ideas, insights, statistics, and more. Interest in human behavior and thinking also plays a large role in anticipating the interpretation of your designs.

How do I know I’m Ready?

You should have working knowledge of Adobe Illustrator and be able to efficiently crank out simple designs and sketches into usable vector graphics. You’ve hopefully wrestled with some data in a storytelling format before and thought on how to convey its findings in a visual way.

 
IMG_7068.JPG
 

Web Cartography

LEVEL: intermediate

START DATE: June 5th, mon + wed, 6-9PM

DURATION: 8 WEEKS

COST $850 

DESCRIPTION

With the proliferation of location data and the power it has to influence everything from marketing to hardware, the need for quality map-based interfaces has never been higher. Use LeafletJS, the most popular JavaScript mapping library, to create elegant interfaces that utilize a wealth of geo data to create powerful tools and visualizations.

The course focuses on interactive mapping for the web and introduces fundamentals of Geographic Information Systems (GIS). Topics include geospatial data and analysis, desktop GIS and cartography, interactive web mapping and geovisualization.

Who should take this course?

The ideal student for this course loves translating data into useful applications. You should also have a passion for maps and the kind of information they can articulate. Successful students will understand the unique characteristics of spatial data and be able to make visually compelling maps, both static or on the web.

How do I know I’m Ready?

You should be confident with JavaScript and external libraries. You should also be familiar with GIS data and aware some of the tools in its ecosystem (PostGIS, QGIS, Leaflet, CartdoDB, Mapbox).

 
IMG_7070.JPG
 

dev ops

LEVEL: advanced

START DATE: June 6th, tues + thur, 6-9PM

DURATION: 8 WEEKS

COST $850 

DESCRIPTION

Whether it means being the tip of the spear or the newly elected sheriff cleaning up the town, a dev ops engineer is the tech industry’s pinnacle of “order from chaos.” Dev ops consists of the multitude of technologies and concerns that create the baseline from which teams build software. This course covers the principles and practices that go into occupying this high-impact role.

Who should take this course?

The ideal student for this course embraces chaos as an opportunity. Patience is a must as trial and error is a core staple of being a dev ops engineer, and this course will emulate that. If you’re the kind of person that loves the opportunity to create order and structure that can benefit others, then you might be a good fit for dev ops.

How do I know I’m Ready?

A strong familiarity with the entire SDLC, and ideally have created or been a part of the creation of full applications. You’re committed to your journey into the software development industry, and would here to carve out your place in it. You should be very comfortable with the command line (bash in particular) and concepts of server structure.