A Conversation With Summer of Code Winner Ethan Chiu

We sat down with our Summer of Code Challenge winner, Ethan Chiu. A motivated and hardworking high school student, Ethan's project focuses on bringing students together to help each other through peer mentoring in his school. We asked Ethan to tell us about the project and what inspires him to code.

alt text

Why did you choose to enter the Summer of Code challenge?
Since this challenge was during the summer, I knew I had more free time to code something awesome! Thus, I wanted to challenge my existing knowledge of programming and create a web application that would help my local community.

Where did you get the idea for StudyTogether?
I got the idea from talking to my peers who were tutors, and my friends who were getting help from my school’s peer tutoring system. My school’s existing peer tutoring system is pretty amazing. It is free and accessible to all students. It gives student tutors academic credit and teaching experience while students get an opportunity to improve on a tough subject with the aid of a free tutor.

Nevertheless, I found out that this system still had some downsides. From a high level perspective, there is no streamline process for this peer tutoring system. The system is unorganized because it is separated into different sections for each subject. Students have to search for certain teachers to get access to the peer tutoring system. More importantly, many struggling students don’t even know of this system because it reaches them through word of mouth. This system also creates a rigid and inflexible schedule for both the tutor and the student. Struggling students often don't receive enough help to succeed in future classes, and the tutor has to follow a cumbersome schedule.

Interestingly enough, I didn’t hear of this program until the last weeks of school. Therefore, I seek to improve the existing peer tutor system by making it more accessible, scalable, and flexible. My primary goal is to create a web application that would allow students who need help in all school classes to receive the help they need.

When making the app, I made sure to cater to my school. I tried incorporate three core values: organization, flexibility, and safety. I envisioned my web application to allow both student tutors and the students to schedule appointments with each other quickly. In addition, I envisioned that students can also choose a student tutor based on their experience, accessibility, and schedule, while tutors can get to know more about their students’ questions before hand. It is a safe and monitored system controlled by teacher admins. If face to face tutoring is not possible, peer tutors and students can communicate through the inbox or videocam system. Tutors can post their video tutoring session (always recorded) on YouTube so that others can learn.

Overall, I want this web application to allow students to receive the help they need. Hopefully in the near future, after I run a couple tests in my school, I can expand into other school systems, which will create a strong network of resources.

What were some of the difficult parts about coding your project?
Some of the most difficult parts came when I was programming the CSS. I often made silly and hard to find mistakes that would throw off my project. For example, it took me a couple hours to figure out I swapped the z-index of two different css classes which ruined the stack order.

What would you have done differently (or more of) if you had time?
If I had more time, I would definitely focus more on the backend and making the basic core functions of the website work. For example, I wish I could have spent more time on the login, calendar and videocam parts of my web application. Overall, I would have taken more risks, such as experimenting with different front end frameworks link AngularJS.

Which courses were the most useful for you when creating your project?
The HTML/CSS, JavaScript, and jQuery skill courses gave me a solid foundation to grow from. The Web Developer Skills courses such as Make an Interactive Website gave me some inspiration on what beautiful websites could look like. Overall, these courses allowed me to create a website from scratch.

Where did you turn for support when creating your project?
For this project, I really wanted to debug everything myself because I wanted to challenge myself as much as possible. I didn’t turn for much support besides using Inspect Element and reading the Bootstrap documentation. Before the project, when I needed support for programming, I always turned to the amazing Facebook group called Hackathon Hackers for help. They are a great community of supportive developers.

How do you hope to continue your project, now that you'll have support from a Codecademy engineer?
With the support of a Codecademy engineer, I hope to make my website’s core backend part, the calendar and scheduling function. Also, I want to improve the UI/UX of my website. Having been using the Codecademy platform for the past 2 years, I am amazed by how Codecademy constantly improves their website’s design to make it more user friendly. More importantly, I want to develop good programming habits and learn from the experiences of a Codecademy engineer.

What do you hope for this project in the future? How would it function ideally?
I plan to integrate my school’s email system with my website so that login is fast. Specifically, I want to create three different user accounts: student, tutor, and admin (teachers). I want to create a more flexible calendar system and a more aesthetically pleasing calendar system that makes scheduling easier by combining the best elements from Doodle and Google Calendar.

After developing this core function, I hope to create a system where users can type in their basic information so that they can effectively pair each other up for tutoring. In addition, I want to incorporate a video meeting system where tutors can teach their students. Lastly, I also want to make my website mobile friendly.

What's next for you?
Right now, I am currently working on the login functionality with passport.js. When I am done with the login system, I plan to finish the core functionality of implementing the calendar system. Obviously, there is still a huge learning curve out there. I have had no real experience with backend development so I hope I can learn from Codecademy’s SQL course and move on from there.

Other than working on this project, I am developing the front end for a startup called UScanTechnologies, and I am leading the development phase with my Co-Founders for my startup called DrumSense, Also, I founded and am directing WellesleyHacks, a 10 hour hackathon for high schoolers. WellesleyHack’s goal is to help participants of all levels to create a web, mobile, or hardware hack that they are proud of. Lastly, I am attending various hackathons throughout the year. In fact, I am attending my first hackathon out of the States next week (HackTheNorth), and I’m really excited for that!

Codecademy Partners With The White House

As part of the White House #TechHire initiative, Codecademy is excited to announce our new partnership with the Obama administration, focusing on helping underrepresented and diverse groups of citizens get the skills they need to find jobs through code.

Programming is the future—a coding education gives anyone the ability and skills to create their own future, businesses, and stable foundations. At this time, wide access to computing education for students is missing. We hope to bring it up a notch through free coding courses, available to anyone with an internet connection.

As a leader in coding education, we find ourselves with a responsibility to help others interested in technology to take the next step. Partnering with Libraries Without Borders in New York, we’ve pledged to reach out to 600 underserved and minority students to participate in Codecademy Meets. This series of events will start at our NYC Codecademy HQ, then grow to different parts of the country, including learners from all backgrounds.

Codecademy Meets

At Codecademy Meets, our Codecademy team members will talk about today’s importance of a tech education, and go into detail in why and how coding can change lives, create jobs, and nourish skills, as well as provide resources for folks to learn on their own. We’ll be learning hands-on with Codecademy courses that teach valuable programming skills necessary to get started on a new path in technology—all for free.

Coding is for everyone. We’re here to bring it to everyone.

HTML & CSS projects are up on Codecademy

Our new web projects are here!

What’s New?

You asked for more projects, and we answered with 15 new HTML and CSS projects up on Codecademy!

Our HTML/CSS projects are designed to let you practice what you’ve learned in the HTML/CSS and the Make A Website course. There are 5 levels with 3 projects in each level. As the level increases, so does the difficulty. Once you’re done, you’ll have all the knowledge and practice you need to create your own website with concepts learned from each project.

HTML CSS project HTML CSS project

Why do projects?

Not only will you practice what you’ve already learned, you’ll explore new concepts by diving into the resources we’ve provided in each project. For example, you’ll learn how to go in depth with the Bootstrap grid, and how to use the HTML video tag—all on your own, applying these concepts to your projects as you go.

Choose to follow the end result example, or customize each project to reflect your own interests and personality. Completing these projects will get you working like a real developer, solving problems, learning new concepts, and creating something unique all on your own.

Ready to try your hand at a project? Get started here!


We've heard from a lot of users that they wanted to connect to Codecademy securely, and now you can. Today we shipped full HTTPS support for the Codecademy site: https://www.codecademy.com

As a Codecademy learner, all of your login credentials and other browsing activity are now encrypted. This means attackers can't snoop on your internet traffic to intercept your Codecademy password, or observe what you are doing while logged in.

The transition to HTTPS has been a bit tricky for us because our website embeds user-created websites in our learning environments (see the Learn Ruby on Rails course for example). This means that our HTTPS connection status is impacted by the contents of those users' projects. We have done our best to make sure we are loading secure versions of resources like scripts, stylesheets, and images wherever possible.

If you have been on the platform for a long time, you may find certain images in your old code are no longer loading—this is a restriction put in place by web browsers. Please replace them with an image available at an https:// URL to fix the problem.

If you find any issues with the HTTPS version of the site, please let us know! Shoot us an email at contact@codecademy.com.

Artur Sapek
Engineer at Codecademy

Introducing Learn AngularJS

What’s New?

We’re proud to introduce our new Learn AngularJS course!

AngularJS is a JavaScript web framework aimed to make single-page web apps simple to build and easy to maintain. It's a popular framework for building web apps, and is used by many companies such as Google, Apple, Udacity, and HBO.

In this course, you'll quickly learn the essentials of AngularJS. By the end, you'll be able to use AngularJS to create custom web apps of your own. You'll build 14 web apps to get a solid foundation in the framework, including a Top 10 app site, an email app, and a local search app. If you’ve completed our JavaScript course, you’re ready to start on AngularJS and take your skills to the next level.

alt text

Why Learn AngularJS?

We decided to build our Learn AngularJS course as a next step for learners wanting more advanced content. Learning a JavaScript web framework such as AngularJS is the next step when getting familiar with building web apps of your own.

Looking for a web developer job? AngularJS is increasing in popularity, both in the developer community and in many tech companies, making it a very useful employable skill. Pair your learning with our jQuery course for a well-rounded approach to creating modern web apps with JavaScript.

We can’t wait to see what you create!

Introducing Ruby on Rails: Authentication and Authorization!

We’re proud to announce the launch of our brand new Ruby on Rails: Authentication course!

What’s New?
In this course, you'll learn how to build an authentication system and an authorization system from scratch. When you’re finished, you'll be able to write your own custom authentication system as well as use third-party systems.

Want more advanced content? You got it—we built Ruby on Rails: Authentication for learners who have finished our Learn Rails course eager to go on to more advanced topics that will help them create their own web projects and further their skills.

Why Authentication and Authorization?
Many web apps let users sign up for a new account as well as log in and out of their accounts. Together, signing up, logging in and logging out make up an authentication system. Most apps use some form of authentication to ensure that only signed in users can access content.

In addition to authentication, many web apps have a way to give specific users permission to access certain parts of the site. For example, a blog would give only its authors or admins permission to access the editing and publishing parts of the site. Permissions are defined with an authorization system.

Expand your web app by learning authentication and authorization with our latest course. We can’t wait to see your projects!

Introducing “Learn Rails”

We’re proud to announce the launch of our new Learn Rails course!

What’s New?
Ruby on Rails is a popular web framework used by companies like Airbnb, GitHub, Groupon, and Codecademy that makes it easy to build dynamic web apps in a short amount of time. You can use Rails to build apps, websites, games, and more—all in an easy to use and popular framework.

When building Learn Rails, we had a few basic concepts in mind. We wanted the course to be accessible, quick to complete, and fun to do. We decided to shorten the Learn Rails course time and created 12 hands-on projects that users can work on throughout the course. Coding is exciting, and the new Learn Rails format makes it easy to grab on to concepts and apply them in useful projects.

Why Learn Rails?
You might notice that Learn Rails is our second Rails course on Codecademy. We listened carefully to the response from students after our first course—Make a Rails App. Students from our in-person Codecademy Labs classes felt they needed more practice before they could create a Rails app on their own. We responded by creating a new course, Learn Rails, to give all of our learners the skills they need to feel confident in coding custom Rails apps.

At Codecademy, we try to learn as much as possible about how learners use our product, and how we can improve. We’re dedicated to our “learn by doing” experience, helping users feel rooted in what they learn, and confident in being able to build their own real-world Rails apps.

We can’t wait to see what you create with Learn Rails!

Happy coding!
-Bana, Content at Codecademy

Codecademy & the 2015 State of the Union: Education for the Jobs of the Future

In his 2015 State of the Union Address, the President singled out technical education as a cornerstone of the effort to skill and re-skill Americans for the jobs of today. The President’s focus on equipping Americans with the tech skills necessary to keep the country competitive for the jobs of the future puts Codecademy one step closer to our mission of training and employing previously-unskilled workers in American technology jobs increasingly available across all industries.

Over the last three years, we’ve worked to build the easiest way to learn to code online. It’s been our belief since the beginning that any effort to keep Americans competitive and fully employed in the labor market of the 21st century would need to center around re-education, and that effective coding education could be built to reach anyone with an internet connection.

In November, we partnered with the leading non-traditional providers of coding education across the country to launch ReskillUSA, a partnership designed to educate Americans on the range of options that exist to teach absolute beginners the skills they need to find meaningful work.

Codecademy, alongside the educators involved in ReskillUSA, is thrilled that the president has come out in support of re-educating Americans to meet the demands modern labor market. We hope that his announcement helps focus debate about the American skills gap on how to re-educate our technical workers, and are grateful for The White House’s support as we continue to equip Americans with the skills for tomorrow’s technical jobs.

Codecademy on Campus: Launching UK Student Brand Ambassadors

So far this year, we have helped bring coding to classrooms in over a 1000 schools across England, and now we want to expand our reach and bring the skills required for 21st century jobs to Universities all over the country.

What does being a Brand Ambassador mean?

We are looking for passionate and innovative university students to represent Codecademy on their university campus. A brand ambassador’s main goal will be to improve awareness of Codecademy as a free resource, to improve an individual's chances of getting a job. We want our brand ambassadors to hold Codecademy events and workshops, create communities of users who can support each other and provide outreach to local schools to continue our support to teachers in delivering the new computing curriculum. We want you to dedicate at least 5 hours per week to helping create these communities, and want you to hold the position for a full academic year.

What is in it for you?

You will be the face of Codecademy on Campus! We believe brand ambassadors will gain invaluable experience in event management, marketing, coaching and training. You will also gain insight into a fast growing start up as we expand internationally, with the opportunity to help shape Codecademy’s strategy and vision. This role will also offer great opportunities to network in the local start-up scene, summer internship opportunities and of course you will receive some awesome Codecademy merchandise!

How do I apply?

We accept single and group applications. All we require is a familiarity with Codecademy and that all applicants are currently students at a UK University. If you are interested, please send your CV and answers to the questions below with the subject line "Codecademy Brand Ambassador" to Rachel Swidenbank at rachel.swidenbank@codecademy.com. The deadline for applicants is 8/10/2014, but ongoing applications will be reviewed.

  • Why is coding so important to your generation?
  • How could you create a Codecademy community in your University?
  • Why do you think Codecademy should support schools?

The New Dashboard

Starting today, we’re introducing a new, redesigned Dashboard that unifies the old dashboard with the course catalog. We’ve done this for two main reasons: to make it easier to browse the content on Codecademy by putting all the skills you can learn in a single page, and secondly, to make it easier to gauge your overall progress on the site. Now, on the new Dashboard, you’ll be able to see which skills you’ve started learning—as well as your progress in them,—and which ones you’ve completed.

New Dashboard

You’ll also notice that we’ve opened up some room in the header. Don’t worry, your points are still alive and, as before, you can look at how you’re doing by accessing your Profile. Clicking the Codecademy logo will lead you to the new, unified Dashboard page. As for the Teach page link, you’ll now find it in the footer.

The final change you’ll notice is on the Profile. Now, your Profile will show only the skills you’ve completed. This is also where you’ll find Codebits.

We’re excited about these changes and we’d love to hear what you think. We’re committed to constantly improving your learning experience, so stay tuned for more updates!