Student Project Feature: Breakout Game Clone

Course: Intro to Programming

Project: Work in teams to build a website/app

Amount of Training: 5 weeks of Intro to Programming

Languages/Tools Used: JavaScript, Bootstrap, HTML, CSS, SeamlessLoop, FL Studio (music)

Team Members: Will Johnson, Neil Larion, Matt Rosanio, Michael Smith

Project Description

A breakout clone using JavaScript and the HTML5 canvas element. Breakout is a video game where the object is to bounce a puck across the screen breaking all the bricks in each level. Breakout was originally designed at Atari with Steve Wozniak and Steve Jobs delivering the first prototype in just 4 days. Fitting since, with our project we only had 4 days as well.

 

What was the inspiration behind the project? 


The inspiration came from this talk. The speakers go over "Game Juice" in a breakout clone of their own. We thought it would be fun to try and replicate as many features in game as possible.


What are some challenges you faced in developing the project?


Collision detection was probably the hardest part and took the longest to put together. Beyond that- it was challenging, albeit rewarding, learning how to write and organize code properly instead of just using something that worked but was bulkier, and harder to rewrite later down the line. 


What kind of discoveries did you make while developing the project? 


We learned that 4 days is not enough time to get in all the features we would have wanted in the game, but it was enough time to build a solid prototype we were proud of and enjoyed playing. We also learned that simple things in the game like sliding in bricks from the top of the screen or power ups to the player paddle are no simple task when coding them.

More than Just a Tech Conference: The 2016 Lesbians Who Tech Summit Changes Careers and Lives

by Perry Eising, Epicodus Instructor

The annual Lesbians Who Tech San Francisco Summit is the organization’s marquee event and its most popular. Now officially celebrating it’s second birthday (the first one was more of a dry run, according to founder Leanne Pittsford), and getting bigger, better, and badder than ever, the Summit is a 3 day extravaganza of tech topics, queer and lesbian activism, self improvement, savvy leadership, community, socializing, dapper fashion, and great hair. Different than probably any other tech conference, the Summit sticks close to it’s roots in the community - events are almost exclusively organized in gay venues around the Castro.

Before my first Lesbians Who Tech Summit, and subsequently attending Epicodus, I was a freshly minted Green Card holder who had once had a tech career, ten or so odd years ago. After coming to the US on a student visa, I was severely limited in my ability to accept employment, and I was desperate for a leg up after finally receiving legal permanent resident status. When an acquaintance mentioned on Facebook that she had a ticket she couldn’t use, I didn’t hesitate. I cashed out my frequent flyer miles, ironed my shirts, texted my friend who had a couch I could crash on in the mission, and flew down to the bay. I wasn’t quite sure what I’d be getting into, but I ended up with a lot more than I could ever bargain for. Attending that first Summit changed my career trajectory and my life.

Taking it all in 🤓 #lwtsummit #lesbianswhotech via Medium

A photo posted by Beca (@8becks) on

This year, the Summit began on Thursday the 25th of February with a short address by LWT staff in the Castro theatre, before transitioning into a tech crawl of surrounding bars featuring events hosted by local tech companies. Given that this wasn’t my first Summit, there were many, many reunions before my crew and I left the crawl for some much needed dinner  - it was amazing to run into so many familiar faces who were equally excited for the Summit as I was.

Friday

Friday is traditionally the big day for presentations on the big stage, and this day didn’t disappoint. After one of my favourite moments, Leanne’s kickoff speech, the morning lineup began with an address by Tara Bunch, Vice President of Apple, and was followed Ramona Pierson, whose harrowing story of injury and ambition clearly impressed the crowd. The star of the morning, however, was the legend, the amazing Edie Windsor,  the legendary computer scientist for IBM, and plaintiff behind the 2013 repeal of the Defense of Marriage Act, and her lawyer, the slightly more understated yet equally impressive Roberta Kaplan. Together, with host Danielle Moodie-Mills of politini, Edie and Roberta explored Edie’s career at IBM, relationship to her wife Thea Spyer, and the story about how they came to be representing their case before the Supreme Court - and ultimately winning. It was an incredibly moving moment to hear Edie recount the process that impacted millions of people’s lives, including my own, in such a direct and transformative way, and the crowd went wild when the Edie Windsor Coding Scholarship was presented to several ecstatic winners.

Emcees Kiva Wilson and Sara Sperling did an amazing job of keeping the conference moving, while the dark intimacy of the Castro Theatre was punctuated only by the illuminated phone screens, trying to capture some of the power that lit up the stage. The Summit’s specially designed app came in especially handy, and created a way to connect and curate digital content. After the first round of speakers I lined up to get my book signed by Edie. Meeting her and Robbie Kaplan was definitely the highlight of my weekend.

The morning sessions took us through until noon, after which the crowd broke for several different lunch options. The committed stayed in the Castro, and I was lucky and honored to be able to present an ignite talk, which is a short, five minute presentation on the big stage, while others enjoyed events focused on space, the internet of things, art, technology, career growth and more. After my talk, I took the opportunity to take a walk around the Castro, and the area had become awash in signature blue lanyards flapping in the breeze. Over 1,700 of us were taking over the area, and we were seemingly everywhere! Walking down the street, I was enthusiastically greeted by fellow attendees, something that is not unusual at all for LWT. In fact, one of the most impressive tenets of the summit is how welcoming and genuinely community minded the attendees are. We headed back into the dark theatre for the rest of the afternoon, which featured a diverse set of presentations, including a pitch contest, a talk on overcoming imposter syndrome, and a fantastic presentation by actual lesbian rocket scientist Joy Dunn about her work with SpaceX.

As the day wore on, the presentations became more complex and moving, such as a amazing presentation on the implicit racism of mobile phone hardware, presented by the articulate and persuasive Samala, and the panel on leveraging your personal advantages, presented by Lisa Davis of Citigroup - it was her line on celebrating being memorable that had Twitter all fired up.

By the time we reached the evening keynote interview with straight-talker Kara Swisher of Re/Code and the closing words by Leanne Pittsford, the atmosphere had become positively electric - the stories presented on stage were so powerful and the atmosphere so charged, the cheers that punctuated the talks were so genuine, the calls for inclusion of women of color of transgender people were so relevant, so close still the struggle that so many of the speakers touched upon. It became very clear that you should never underestimate the power of a group as committed and focused as people who have been deprived of community.

Saturday

Saturday is historically the main day for workshops and career fairs, which were all informative and welcoming. The day was well attended and was packed with informative sessions and featured a friendly, enthusiastic, well staffed Career Fair featuring companies like Amazon, Twilio, Lyft, Nasa, Intel, Two Sigma, asana, IBM and more. Organizationally things broke down a little bit - sessions didn’t start on time, and meal schedules were missed - making it very clear how well the stellar LWT team had organized the previous day. Despite some organizational hiccups, I attended an excellent workshop hosted by Jess McPeake on realizing your full potential in life and work, as well as a great session on unconscious bias, presented by Clem Breslin and Dioganhdih Hall, where we discussed the stunning levels of gender inequality in tech. I also attended a panel discussion on code schools and programming education, before heading out early to close the day out with friends at some more social events.

Sunday

Sunday customarily features some closing events, but little official programming. It is the perfect time to get together with old friends and new co-collaborators, strengthen our community ties, make commitments to the future, and brainstorm ways and means to change the world - including creating a better, more just experience for women, queers and minorities.

Sunday featured a final closing party at Virgil's, and then it was time to leave a community that feels a little like family.

As always, impossible to say goodbye completely. After all is said and done, this is so much more than a tech conference. It is an opportunity to see one’s interests, hopes, desires and choices reflected in other people. It is a space for intergenerational mentoring, the likes of which do not take place in other queer and lesbian communities. It is a deeply political and passionate claiming of space and worth. It is a place of resistance against the rule of norms, and an insistent declaration of independence and resilience. It is the anvil on which clear eyed, hard edged, soft spoken radical entrepreneurs, achievers, organizers and pionesses are sharpened and encouraged. It is the arena and the celebration, the commitment ceremony and the victory lap. It is the LWT summit.  As I boarded the plane back up to Portland, I knew the summit had delivered what I had hoped it would - profound inspiration, steadfast community, and a unique opportunity to create with others. Until next year!

Want to see Perry's talk? Perry kicks off the round of Ignite sessions in the video below.

CEO Search

First stand up in Epicodus's current location.

First stand up in Epicodus's current location.

By Michael Kaiser-Nyman, Founder & President

When I taught Epicodus's first class at the beginning of 2013, the school was just me and one class of 8 students in a small room in a co-working space. 3 years later, we have about 150 students, 18 staff, a 13,000 square foot office, and a dozen courses. We're the most affordable and accessible vocational coding school out there, and we want to make our education available to as many people as possible. That means opening up offices around the country, starting with Seattle and then another city later this year. From there, we're looking to grow from 3 to 30 locations in the following couple years.

One of Epicodus's first classes.

One of Epicodus's first classes.

The skills and experience needed to grow a company from zero to 3 offices are very different than those needed to grow it from 3 to 30. I'm very proud of what we've accomplished so far, and I also know we need a different kind of leader in the next stage of Epicodus's life. Alongside opening our next two offices, I'll be focusing much of my energies this year on finding a CEO to eventually replace me.

We're in no rush to bring someone in, and the most important thing is to find someone who shares our values of making education accessible, prioritizing long-term student success over short-term numbers, and taking the time to do things right. When we do find our CEO, I'll work alongside them for an extended period of time to make sure the transition is smooth for our staff and students.

I'm very excited about bringing Epicodus to the rest of the country, and I can't wait to see how the next chapters of our story unfold.

P.S. If you think you're the right person for the job, drop me an email at michael@epicodus.com. You should have experience leading a company, organization, or department with 50+ employees and $10+ million revenue/budget. We also have a stand-alone job description.

Seattle Applications Are Open!

Android OS-100.png

With our 2016 courses officially underway, we're excited for what's ahead for the rest of the year. We just wrapped up our first full-time Intro to Programming course in Portland, and our PDX students are now studying specific programming languages and frameworks including PHP, JavaScript, C#, and CSS

What's next on the horizon? We added a bunch of new course dates for our Portland campus and opened applications for courses at our Seattle location. Our first Intro to Programing course in Seattle will launch on June 6, followed by C#, JavaScript, and .NET.

Each language or framework is its own course and will run for 5 weeks. Courses will generally run back-to-back. You can mix and match 5-week courses to learn the programming skills that meet your needs. On each course page, you'll see that we've made some recommendations about course pairings. After applying to Epicodus, all students will be placed in our full-time Intro to Programming course.

For a full breakdown of our courses at each Epicodus location, check out the Portland Courses and Seattle Courses pages.

Seattle Here We Come!

We're excited to announce that Epicodus will be opening an office in Seattle! After almost 3 years and close to 450 students graduated from our Portland office, we've built a training model we're proud to take to new cities. Seattle, being our closest neighboring tech hub, is an obvious choice for our second location.

As you probably know, Microsoft is based just outside of Seattle (in Redmond), and so Microsoft's C# language and .NET framework are hugely popular in the area. Our first Seattle students will learn these technologies, as well as JavaScript and AngularJS. After we run our first series of courses and have some time to get settled, we'll expand our offerings to many of the other courses we offer in Portland.

We've started filing our paperwork with the state and begun looking for an office, and expect to have these tasks completed in the second quarter of this year. We're shooting to have our first class start towards the end of the second quarter.

Seattle's just the first stop on our journey ahead! Look forward to news about more planned office openings in the second half of 2016.

What Programming Language Should I Learn?

By Michael Kaiser-Nyman

Now that Epicodus offers so many different courses, we often get students unsure of what to take after they finish Introduction to Programming. If you're an Epicodus student or anybody wondering which language to learn, the first thing you need to decide is if you want to focus more on front-end or back-end development. Front-end developers spend their time making things look and work well, obsessing over layouts, navigation, colors, and design. If this type of work appeals to you, your best bet is to take CSS and Design classes at Epicodus.

If you're more interested in back-end development, you have several choices of languages: C#, Java, PHP, and Ruby are all offered at Epicodus. My best advice about how to choose is not to worry too much. Most modern programming languages have more similarities than differences, and Epicodus graduates often find themselves working in different languages than they studied in school. Back-end programmers often switch languages as they change jobs, or even as they build different types of software at the same job. So don't stress too much about making the right choice! That said, each language has found a bit of a niche, and depending on your interests, you might be attracted to one over another.

C#

C# is most popular among bigger established businesses, often for building internal software. Because it's been around for a long time and has the backing of Microsoft, it is one of the most in-demand languages in the job market. C# has also been going through a bit of a rebirth lately, with Microsoft open sourcing the language and surrounding platform, porting it to run on Mac and Linux, and incorporating many of the best features of other languages. If you like the idea of working for a larger company on business software, C# is a great choice.

Java

Java is also a favorite of enterprise companies, but its appeal is broader as well: it's one of the most popular of all programming languages, and it's used in everything from for high-performance processing to building Android user interfaces. Because Java has been very popular for a very long time and is used in so many applications, it is also a very high-demand language. If you're interested in working for an enterprise-level company, as an Android developer, or in high-performance applications, Java could be a good language to learn.

PHP

PHP is by far the most popular backend language today, with 80 percent of websites utilizing it 'server-side'. It is perhaps best known for it's use in content management systems like Wordpress, Drupal, and Joomla. But the versatility of the language and the frameworks it powers make employment options numerous and diverse. If you're keen to work for a fast paced agency that builds websites for lots of clients, or maintain the security and stability of a huge complex of government websites, or if you like the idea of building out small sites for brands, businesses, and organizations - In any of these cases, PHP would be a great way to go.

Ruby

Ruby is a favorite language of developers building interactive web applications. If an app involves users creating accounts, entering information, and interacting with dynamic content, there's a good chance it is built with Ruby. Ruby became popular because the Rails framework, which is written with Ruby, simplified many of the common tasks associated with building web applications. It's most popular with startups and smaller companies who are looking to build their product quickly.

Though each language has its niche, there is plenty of crossover. For example, Rails' popularity inspired copycats in just about every language, and so you'll see interactive web applications written in C#, Java, and PHP, with Rails-like frameworks including .NET MVC, Spring, and Laravel. Even at one company, you might find them using PHP for their marketing site, Ruby for their web application, and Java for their back-end processing. 

The most important thing is to get the basic principles of coding down, practice a lot, and be ready to change to another language when your job inevitably does.

Epicodus 2015 Year End Report

Epicodus_2015_Report_pdf.png

As 2015 came to a close, I thought a lot about Epicodus's mission:

Epicodus's mission is to help people learn the skills they need to get great jobs. For us, “great jobs” means jobs in growing industries that pay well and provide rewarding work. Beyond the particular skills needed to get these jobs, we aim to help our students become confident self-teachers who can adapt to changing job markets, and great communicators who will work well in teams. We focus on serving people who, by birth or circumstance, don't have easy access to learning the skills they need to get these great jobs.

Four years ago, the US economy was in a bad place, unemployment was high, and many people were struggling to even scrape by. At the same time, companies were struggling to find software developers, and were offering high wages and great benefits to attract the talent they needed. Epicodus was born to try to bridge this gap, helping people get these great programming jobs and helping companies find the talent they need, and three years ago we had our very first class of 8 students.

Today, the economy has mostly recovered, and the coding school phenomenon has exploded, with over 5 dozen schools across the country. However, many of the problems we faced 3 years ago still remain. Software companies still are desperate for programming talent. Many people are working part-time involuntarily. Wages for middle- and low-income workers haven't increased in many years. And while coding schools have made a dent in the problem, most are still inaccessible to the people that need their help most, charging 5-figure tuition and offering short classes that require coding experience before attending.

We've continued to evolve Epicodus to take these problems head-on. We've been adding courses in languages Java and PHP that aren't trendy but where many more jobs are. Our employer outreach team has grown from 1 to 4 full-time staff this year to connect with more companies. We added a new introductory course for people who have little to no background in programming. Our programs continue to be several months long, giving students more time to hone their skills, and our tuition always has been and continues to be a fraction of other schools', including community colleges'.

In 2016, we're excited to continue building on all of the progress we made this year. We'll be adding even more courses, including C# and design. We're defaulting all new students into our introductory course to make sure that everybody in Epicodus starts with a solid foundation (while still having the opportunity to test out for more experienced students). And we're getting ready to open up an office in another city. In the year end report, you'll find a recap of the highlights of our year, information on how Epicodus compares to the industry, stories from students and more. Thanks for being a part of our community! 

- Michael Kaiser-Nyman, President

Why We Shouldn't Make Kids Learn to Code

By Michael Kaiser-Nyman

As our society grows increasingly aware of the power of computer programming, both to shape how our world works and provide high-demand jobs, some people have suggested that we require all children to learn how to code. I think this is a terrible idea. Here's why.

When I was a kid, I became interested in programming, and I was lucky enough to have parents who helped sign me up for community college classes. In an era when coding has become such an important skill, it would be absurd to require kids to navigate the community college system if they're interested in learning to code, and despite this post's title, I'm all for offering courses in our K-12 education system. But I also strongly believe in the importance of letting kids choose if and when they want to learn programming. When my interest waned as a teenager, my parents didn't pressure me to continue coding, and I think that's part of why I ended up becoming a successful developer - I had the freedom to pursue it when I wanted to and when I was ready. Forcing all kids to learn to code risks killing the joy of it for those who would otherwise come to love programming, and turning it into yet another test to take for those who never had any interest in the first place.

Furthermore, the focus on teaching kids to code is misplaced: the most important skills our education system can provide to children have nothing to do with software or technology. When I started Epicodus, before I ever wrote a single word of curriculum, I asked many programmers and hiring managers what Epicodus should teach. I was shocked: people talked very little about languages or design patterns or technologies. Instead, I heard about teamwork, self-awareness, communication, and humility. "Sure, that's fine," I would say, "but what about the coding skills? Isn't that the important thing here?" The resounding answer I received was "no". Across the board, employers told me that they needed a certain baseline level of skills to hire somebody, of course, but so long as somebody had that baseline, their so-called "soft skills" were far more important. One developer told me something along the lines of: "I can teach a junior developer the coding skills they need to solve the problem at hand, but I can't teach the curiosity they need to solve the next problem without my help." Another told me "The greatest risk to a software company isn't their code, but how their employees work together."

At Epicodus, we try to foster soft skills like communication, teamwork, and curiosity. But the best time to develop these skills is as children. People can learn to code as adults - I see it happen every day. Their gains in soft skills are smaller and come more slowly, though. It would be great if every child had the opportunity to learn to code, but it would be far better if every child graduated high school excited to learn and explore, effective communicators, and adept at resolving conflict with their peers. Even if they had these skills and had never seen a line of code before, they'd likely turn out more successful than a programming whiz coming out of the average American high school today.

There are many great reasons to encourage kids to learn to code: it sets them up with a vocational skill, it helps them understand how our technology-driven world works, and it develops their problem-solving and logical abilities. But not every person wants or needs to learn to code, and even those who do can be successful learning as adults. The interest in coding in K-12 education is misplaced. It's far more important that we re-tool our education system to give kids more opportunities to develop teamwork experience, communication skills, and curiosity to become lifelong learners.

What I Learned from Code School

By Mike Bunker

Having no idea what I was doing I decided to enroll in a Code School this summer to learn the basics of programming and web development. I decided to attend Epicodus, a 4-month full time coding “boot camp” teaching Ruby/Rails and JavaScript along with a few different frameworks. I was a Political Science Major in college, and have no experience in the tech industry before starting at Epicodus (as you will see from that wonderfully awful picture below). It was a very challenging and rewarding process to complete the classes and I am happy with my decision to attend Epicodus and be a part of this industry. Here are some of the things I learned and some of my thoughts about my experiences at a code school.

Ping Pong test website built for my Epicodus application.

Ping Pong test website built for my Epicodus application.

When you need help, it's OK to ask for it.

And I asked a lot. From the teachers, other students, to stack overflow and the never ending sea of the internet. I quickly found out that this seems to be a normal thing for developers (or so I am constantly told). Many people work in teams which are collaborative by nature. It is nice to have people to lean on for help with the code. It was great to be able to lean on other students for help when tougher problems arose, and for when those time arose that the students couldn’t solve a problem ( I am looking at you Ember.js), then the teachers were there to help sort us out.

A sign I kept during my time at Epicodus.

A sign I kept during my time at Epicodus.

Pair programming is very difficult.

Pair programming is an interesting thing. There are plenty of reasons for why it is beneficial (and I am sure a thousand blogs doing it better justice than I would), and Epicodus regards it highly in their curriculum. There were a lot of days that pair programming was awesome. I had good partners and learned a lot and contributed a lot. However that was not always the case, and I found it extremely difficult to work with people who for various reasons didn’t “click” with me as programming partners. People learn in different ways, and even those who learn in similar ways don’t always learn at the same pace. While this can be beneficial in certain circumstances, I found myself annoyed with the process from time to time.

Appreciation for tech.

Before attending Epicodus, I didn’t have a lot of appreciation for how difficult it is to be a web developer/programmer. Even things as simple as clean good looking web pages can be difficult to accomplish (like getting that form in the absolute center of a responsive page), and having worked on trying to make web pages/programs/apps that are similar to what I have thoughtlessly used most of my life I now know how to appreciate the technology that I am using.

Building something from scratch is amazing.

My time at Epicodus has culminated in me building a chess game explorer app. I am hoping to write a post specifically about that later, but it has been an incredible experience to set out with an idea of something I want to do, work to get it done, and see it come to fruition (even though there is still a lot of things I want to do to make it better.) The first time I got user authentication to work and when the chess board finally took shape were two absolutely incredible moments for me. That success only fuels my desire to learn and do more. Of all the benefits I feel I got from attending Epicodus, the ability to create something meaningful is the single greatest thing I have gotten.

Chess app taking shape.

Chess app taking shape.

The people are important.

I feel like I got extremely lucky with the group of students that attended Epicodus with me. For the most part, they were smart, fun and driven people who I have spent quite a few nights with getting to know over a pint. I have gone to a few tech meetups and events around Portland since I started Epicodus, and community seems to be important to everyone here. People are excited and passionate about not only what they do, but the tech industry in general. The energy and excitement at the PDX Tech Crawl this year blew me away.

A great group of students and teachers.

A great group of students and teachers.

Mike Bunker was a student in the Summer 2015 Ruby/JavaScript/Rails course. This post was originally published on his site Bunker's Code Blog.

Epicodus's New Office

This weekend, the Epicodus team picked up our iMacs and our standing desks and moved into a brand new space at 400 SW 6th Ave. With beautiful eighth floor views and lots of room to grow, we're excited about this next chapter. For the last few months, our three current classes have been in separate locations, so we're thrilled to have everyone under one roof again. Check out the video below for a sneak preview of the new office!