Suncoast Developers Guild is Reshaping its Web Development Curriculum: Here's Why

January 16th, 2020

Mark Dewey

Core Instructor @ Suncoast Developers Guild

Roughly two years ago, we had a theory that we could teach a person to be a job-ready, full-stack developer in 12 weeks.

SDG has proven that we could, but there is always room for improvement. In other words, changes are coming and this blog is going to cover what you can expect and why...

071919-95 (1)

How did we get here?

To better understand where we're going, let’s talk about where we are. Currently, we’re teaching a 12-week full-stack course, using React and .NET Core. Over the course, the student starts with HTML, makes their way to CSS, moves on to JavaScript, learns React, and then focuses on the back-end with .NET Core; a "glass down" approach.

Right now, we start with an HTML and CSS-focused study. By doing so, it was an easy entry into the world of the web to build up students' confidence and get them used to development.

After that week, we hit JavaScript without any frameworks. During this time, we introduce the central programming fundamentals, but in a browser. Students drill the fundamentals while building real websites. After feeling the pain of vanilla JS, students are then given a three-week dive into React and modern JavaScript deployment.

After React, the curriculum splits. For the next three weeks, half of their time is spent on building their capstone and the other half learning about the back-end. Finally, for the last three weeks, they focus on building a full-stack web app that shows off all the skills they have learned.

The Results Are in!

Overall, the results turned out favorably. The process is working and has produced new talent. This curriculum does train entry-level web developers in 12 weeks.

But... It's not perfect. We have found three main problems:

1. Lack of Focus

Over the course, students learn about two big ideas: development fundamentals and web development. This was by design. The idea was to give a practical perspective as we teach concepts. This split has been causing students to take a little longer to grasp and truly understand the basic building blocks of programming. This delay, though only weeks, has caused students to not be as successful as they could be.

2. Technology Jumps

The current iteration of the course covers the languages in this order: HTML, CSS, JavaScript, C#, and SQL. From an architecture diagram, it makes sense. It starts with what the user sees and end with how we are storing data. Even though this makes linear sense, it falls apart academically.

Students are hitting two significant roadblocks during the course. The first one is the jump from CSS to JavaScript. That comes as a huge step going from the declarative nature of CSS to the algorithmic thinking of JavaScript proves to always be a struggle.

The struggle comes from such a rapid shift in learning how to use each language. In one day, to use JavaScript, the student has to understand multiple concepts: what a line of code, an event, a function, and DOM is. That's a massive leap for a student who just learned about media queries.

Another significant leap happens again when the students switch to the back-end during the full-stack part of the course. Going from a single user on a single page with a visual representation of what is going to creating an API that serves many users and stores data is a big stretch of knowledge. This shift in perspective is another point in the curriculum where we’ve found that students get left behind.

12

3. Capstone Conflict

Currently, we have students build a capstone to test their full-stack skills and abilities. Over the course, we are starting the capstone as soon as the full-stack unit starts. During the full-stack part, students begin to zone out during a lecture and stop doing homework.

This lack of attention exists because students are focusing hard on their capstone. This new pressure of building the final project plus a considerable shift in paradigms causes students to miss out on valuable learning and ideas.

Iterate, Iterate, Iterate!

"The Hacker Way is an approach to building that involves continuous improvement and iteration. Hackers believe that something can always be better, and that nothing is ever complete." — Mark Zuckerberg

At SDG, our mission is to provide quality code education to the Tampa Bay area. As a team, we have several years of instruction behind us; as an academy, we have run the current version of the course for over a year. During that time, we have learned about our community, our product, and how our students flow through the course.

It's time to iterate.

The academics team has reviewed the course and made a few changes.

Get the details...

What’s Staying

The core goal of the course is still the same; take students from knowing almost nothing to being a web developer in 12 weeks. The tech stack remains the same; .NET Core, SQL, and React. There is still going to be a capstone to demonstrate, apply, and enforce the concepts learned over the 12 weeks.

What’s Changing

The most significant change we are doing is the order of the course. Instead of starting students "off easy" with HTML and CSS in "a glass down" approach, they are working in C# and algorithms from day one. This shift causes ideas to happen one after another instead of all at once.

The Nitty Gritty

The Schedule

Unit Weeks Ideas Covered
Unit I Week 1 The basics (expressions, statements, control structure, etc. )
Week 2 Deeper basics (OOP, functional programming, algorithms)
Week 3 Working with data
Unit III Week 4 Creating APIs and servers
Week 5 HTML, CSS and accessibility
Week 6 Vanilla JavaScript and intro to react
Week 7 Deeper react
Week 8 bringing a full stack application together
Unit III Week 9 Full-stack application practice
Week 10 Application
Capstone Week 11 Capstone
Week 12 Capstone & Demo Day

Unit 1: The Basics with C

During this unit, students get instructed on a foundation of computer science, algorithms, and software development. During this time, we will not focus on the web; the focus will be on how to write software in general.

Unit 2: Bringing it Online

This unit is where the transition to the internet happens. During unit ii, the most extended unit, we cover how to create a modern web app, complete with a front end library, semantic HTML, and an API that is containerized and hosted on the cloud.

Unit 3: The Big Picture

This unit centers around practice and application. By the time the students get here, they have seen all the basics of creating a web app, from HTML to SQL. During this unit, students start creating their capstone while we practice more advanced topics during lectures. Lectures are shorter and constructed to provide time for the students to develop their capstone.

Cool, new schedule! But what does it do?

Pacing

The new pacing of the course keeps students on track and provides a cleaner learning experience. Instead of trying to do everything at once and learning both web and software fundamentals, they are learning one at a time, leveraging prior knowledge to learn new ideas. This pacing allows students to focus and have time to understand the concepts and take the knowledge from a surface level to a deeper understanding.

Fundamentals

Fundamentals are what make learning coding in the sprint fashion possible. The fundamentals are what developers consider to be the building blocks of programming. These include ideas such as problem-solving, learning a technical concept and debugging, and the fundamentals of creating an algorithm.

In this new format, we are stripping away the noise of the web development and dedicating two full weeks to learning, practicing, and developing these skills.

Have any thoughts and feels?

This is the most significant change to come to the SDG web course since it's inception created roughly two years ago. SDG is always and should always be an organization built by the community for the community.

__If you have ideas, thoughts, or feels that you want to share, speak up and join the discussion on GitHub.

]__


Join our Mailing List

Stay up to date with our latest news and upcoming events.

By sharing your email, you agree to our Privacy Policy and Terms of Service.