Full Stack Web Developer

Average Salary: $65,000 - $90,000

Full Stack Web Developer
Quick View

Program Curriculum

  • Are you ready to develop your understanding of computers from the inside out? In this course, you will discover hardware and software options for a computer, how computers work together to create networks, and how the internet works. You will explore the major types of software categories you will need to know in most professional spaces including word processing, spreadsheets, and database information. You will also develop skills like programming and app building before putting everything together in a final project where you’ll build an e-book. Let’s get started!

    Unit 1: The Basics: Understanding Computer Hardware

    We interact with dozens of computers every day, whether we realize it or not. From smartphones and ovens to grocery store kiosks, computers are all around us. Their purpose is to process information in a meaningful way, and it takes quite a lot of hardware to get the job done! We will explore the basics of computer hardware, peripherals, maintenance, and troubleshooting. At the end, get ready to apply your knowledge to a common hardware problem and solve it!

    What will you learn in this unit?

    • Compare and contrast types of computers and their purposes

    • Identify and define the components of the von Neumann architecture model

    • Describe on-board and add-on components of a computer

    • Describe the purpose of peripherals and how to connect them to a computer

    • Apply a common troubleshooting methodology for hardware problems

    Unit 2: Data and Storage

    Data is not just a technical computing term anymore—it affects almost everyone in one way or another. From the phones we use to the groceries we buy, data is being generated at unprecedented levels. All of that data needs to have a home, which is where secondary storage comes in. Get ready to learn about hot topics involving data and storage devices—and how they affect you!

    What will you learn in this unit?

    • Explain the difference between data and information

    • Discuss how data mining and data analysts are connected

    • Convert between decimal and binary values

    • Distinguish which data type should be used to store particular pieces of data

    • Compare and contrast different methods of storage

    Unit 3: Systems and Software 101

    If hardware is the body of the computer, then software is its mind. Software does the thinking for the computer in a variety of ways. It allows users to interact with the hardware and provides tools for maintaining it. Application software enables users to be productive and entertain themselves. The future of software development is exciting, futuristic, and just brimming with cool opportunities for new programmers. Software is a broad topic, so get ready to learn!

    What will you learn in this unit?

    • Describe the main operating systems in use today

    • Explain the features of an operating system

    • Give examples for why files and file management systems help with organization

    • Use various application software programs to accomplish tasks

    • Configure your Chrome browser and Gmail account

    • Contrast the types of software delivery models and licensing options

    Unit 4: Networking Fundamentals

    The networking world is fast-paced and innovative. The internet can seem mysterious, but behind it are wires, cables, and satellites that carry data to and from computers. Different kinds of network hardware and software are used to enable this communication, and certain rules must be followed. Get ready to dive into the exciting world of the internet and learn just how simple yet complex it can be.

    What will you learn in this unit?

    • Analyze the benefits and risks of using a network

    • Identify various types of networks and explain their purposes

    • Describe the four major network topologies and name the types of internet service providers

    • Explain the packet switching process

    • Define and explain the functions of different pieces of network hardware

    • Discuss network security issues and how to troubleshoot them

    Unit 5: Word Processing

    The business and academic worlds make heavy use of word processing software. Over 25 million people worldwide[1] use Google Docs, making it one of the most popular word processing applications. Not only does Google Docs provide basic functionality for creating and editing documents, it also has some cool collaboration features. Get ready to learn the ins and outs of Google Docs and how you can use it to enhance your writing.

    What will you learn in this unit?

    • Explain the basic terminology of word processing software

    • Use word processing features for sharing and collaborating on documents

    • Create and format documents using Google Docs

    • Create professional documents using Google Docs

    Unit 6: Spreadsheets and Databases

    All of the data being generated daily in the world needs a place to live. Enter spreadsheets and databases. These kinds of software can help organize, retrieve, manipulate, backup, and export data in various ways. From the simplest spreadsheet to the most complex database, data storage technology is vital to the proper functioning of many societies. So get ready to learn what spreadsheets and databases are capable of by following along in Google Sheets and Airtable.

    What will you learn in this unit?

    • Create and format a spreadsheet

    • Apply spreadsheet formulas and functions

    • Analyze data through filters, sorting, and conditional formatting

    • Demonstrate data visually by creating and modifying charts

    • Describe database concepts and types

    • Create a basic database and input data using a form

    Unit 7: The World of IT Apps

    From business communication applications and accounting software to educational learning management systems and personal smartphone apps, the world of IT apps seemingly knows no bounds! We will discover the uses of various applications, extend our file management skills, explore the browser, improve our online search strategies, and learn where to find tech help if we need it.

    What will you learn in this unit?

    • Describe and use software for personal and business tasks

    • Develop file management techniques

    • Demonstrate proficiency using a browser

    • Configure a web browser using advanced settings

    • Assess the validity of online sources

    • Use search engines and search tools effectively

    Unit 8: Programming Pro Tips

    Programming is currently one of the hottest industries. Even careers that are not traditionally thought of as technical now require a basic level of programming knowledge. In this unit, you will walk through the basics of coding, beginning with the software development life cycle, and then move on to understanding how various programming languages help to solve problems. You will explore the world of algorithms, get exposure to the basic constructs of most programming languages, and even develop your own mobile app. Get ready for a jam-packed, fun-filled unit!

    What will you learn in this unit?

    • Compare and contrast programming language categories

    • Define and recognize programming control constructs

    • Describe basic programming building blocks and concepts

    • Create a basic mobile app

  • Now that you know the basic workings of a computer, it’s time to put the computer to work! In this course, you will explore some of the basics of graphic design, web development languages, and coding. You will also learn about team building, communication and presentation software, and becoming a digital citizen, giving perspective on how to collaborate with others as you transition from school to the workplace. Lastly, you will uncover potential cyber threats and how to protect your own devices through features and behavior change before putting everything together in a culminating project: designing a website in Weebly. Let’s get to work!

    Unit 1: Web Design

    Websites are very important in our society. Businesses rely on them to market, advertise, share information, sell products, and communicate. But not all websites are created equal—some are attractive and professional while others are dull and unappealing. To make a visually appealing website or graphic, you’ll need some very important design skills. Let’s explore the basics of web design, web development, and graphic design.

    What will you learn in this unit?

    • Identify and use basic principles of image design

    • Create a professional-looking graphic using Google Docs

    • Identify and describe web programming languages

    • Use storyboards to plan a website design

    • Use HTML and CSS to create web pages

    • Build and publish an interactive website

    Unit 2: Code Like a Pro!

    What do stoplights, coffee makers, and video games all have in common? They are all controlled by code! In our modern world, code is the basis for all of the technology that we use. One of the most popular programming languages is Python, and we’ll learn how to use it to create a fun text-based adventure game. We’ll also make sure our game is good to go by testing and debugging it. Get ready for a Python adventure!

    What will you learn in this unit?

    • Solve problems and think critically

    • Differentiate among Python data types and describe their uses

    • Employ mathematical operators in programs

    • Create a text-based adventure game in Python

    • Use random numbers in a game

    • Fix errors in a game by applying debugging strategies

    Unit 3: Digitally Speaking

    From messenger pigeons and papyrus to paper and emails, communication sure has come a long way! We now have a range of tools at our disposal for workplace and personal communication. Let’s learn how to speak digitally by exploring some of these tools. We will set up and use a Gmail account to investigate the world of email. And along the way, you’ll learn how to mind your netiquette!

    What will you learn in this unit?

    • Explain the use of various kinds of collaboration software

    • Use basic email functions to send messages

    • Apply advanced email settings to collaborate with others

    • Employ effective nonverbal and verbal communication skills

    Unit 4: The Good and the Bad: Trends and Threats

    With new innovations such as augmented reality, artificial intelligence, and smart devices, the future of tech has never looked so bright! But in this fast-paced, ever-changing industry, threats are equally fast-paced and evolve just as quickly. Cybercrime is rampant, and many individuals and organizations are falling prey to cyberattacks. We’ll discuss the specific threats that are out there, how to recognize them, and how to prevent them. Also, you’ll learn some best practice tips along the way to keep yourself safe.

    What will you learn in this unit?

    • Discuss how technology trends affect society

    • Identify and describe security threats

    • Explain how different types of malware work

    • Describe issues relating to internet safety

    • Explain how to maintain digital privacy and security

    Unit 5: Building Bridges

    Relationships among different groups of people are important to a well-functioning business, whether it involves peer, employer–employee, or mentor–mentee relationships. Communicating, collaborating, and resolving conflict well are vital elements of working in a business environment. IT tools can help these relationships function smoothly by meeting a variety of needs within the company.

    What will you learn in this unit?

    • Describe the importance of various types of relationships within the business world

    • Learn and apply strategies for resolving conflict in the workplace

    • Demonstrate awareness of workplace safety

    • Recognize the importance of leadership skills and teamwork

    Unit 6: Become a Pro at Presentations

    Presentation software is useful as a visual aid accompanying a speech or lecture. Google Slides is one of the most popular types of presentation software. It offers a variety of options to add multimedia content and collaborate with other people. We will learn basic features as well as more advanced aspects of Slides that can be used in a business context. Get ready to start creating your very own presentations!What will you learn in this unit?

    After studying this unit, you will be able to:

    • Explain the purpose of presentation software

    • Put together basic presentations and add multimedia content

    • Create and incorporate business-related elements in a presentation

    • Apply appropriate slide transitions and animations to a presentation

    • Demonstrate planning and time management skills

    Unit 7: The Legal and Ethical Side of IT

    With all the data we interact with online, there is a great need for privacy and security. But sometimes it’s unclear what we can and cannot do with data, and legal or ethical issues may surface. In this unit, we’ll look at intellectual property and how to protect it. We’ll also examine the issues of confidentiality, integrity, and availability with the goal of understanding how to behave securely, legally, and ethically.

    What will you learn in this unit?

    • Summarize confidentiality, integrity, and availability concerns relating to data

    • Describe potential threats to a company’s data, hardware, and software

    • Discuss ethical and legal issues related to IT

    • Investigate online sources to help you avoid plagiarism

    • Summarize behavioral security concepts

    Unit 8: Pathways to Expanding Your Involvement in IT

    As you reach the end of this IT course, it is really only the beginning of your journey! Begin preparing for your future today by exploring your options for joining professional organizations, becoming involved in a computing club, giving back to your community, taking part in competitive programming, and becoming a lifelong learner. Being an IT professional is not simply about having the right skill set, as important as that is. You also need to be a good digital citizen and be conscious of how your actions affect the wider community.

    What will you learn in this unit?

    • Identify potential IT clubs and organizations to be involved in

    • Discuss the benefits of competitive programming

    • Read and understand technical material from magazines, journals, and books

    • Be a responsible digital citizen who promotes security and advocates for fairness online

    • Develop employability skills and knowledge

  • How many times per day do you access the internet, including social media? The web is an important part of our daily lives, so it’s no surprise that web development is one of the hottest career fields. Start to explore professional web development, including how to create content for the web. You’ll learn about topics such as servers, file organization, HTML, CSS, Javascript, and the development stack that will let you build any website you can dream up.

    Unit 1: Introduction to Web Development

    How many times per day do you access the web, to check on your email, buy something, or just to check out a friend’s latest snaps on a social media site? One of the most amazing things about the web is just how many services it provides. When learning how to create a website, there are a few concepts and sets of technologies that you need to be familiar with: front-end development, the client-server model and HTTP networking. You’re also going to start a journey toward mastering three essential development tools: HTML, CSS, and JavaScript. This might all sound like jargon right now, but soon you will be able to explain for yourself how all of these concepts relate and how they contribute to a working website.

    What will you learn in this unit?

    • Describe a brief history of the web and the languages important for web development

    • Define the client-server model and explain how it serves as the foundation for the internet and the web

    • Explain the fundamental purposes of HTML, CSS, and JavaScript

    • Define a framework, as the term applies to front-end markup and programming

    • Create a basic web page with a customized style

    Unit 2: Introduction to HTML

    You’re going to learn the basics of HTML, a straightforward markup language for structuring a hypertext document. HTML has been around for a while, and it’s been through a few changes. It’s absolutely everywhere on the web. We’ll do a walkthrough of a few basic HTML tags, and then we’ll dive into lists, tables, and forms. When we talk about forms, we’ll also talk a bit about HTTP requests and responses. It won’t be long before you start getting comfortable with how HTML works and how it makes web documents well-structured and accessible.

    What will you learn in this unit?

    • Discuss HTML’s version history and evolution

    • Use various HTML tags correctly, depending upon context

    • Construct basic HTML lists and tables

    • Create a basic HTML form, as well as describe client and server responses when forms are submitted

    Unit 3: Introduction to CSS

    This is an introduction to Cascading Style Sheets. CSS is the style language of the web. HTML might be the bones, but CSS is the skin, clothes, and accessories that help us decide if we like what we’re looking at or not. CSS is easy to get started with but will become more complicated as we move along.

    What will you learn in this unit?

    • Add CSS styles to an HTML document in different ways, according to need

    • Create CSS rules using appropriate selectors and properties, with varying levels of specificity

    • Understand the basics of the CSS box model, a key idea in CSS

    • Style various HTML content and elements: text, lists, tables, forms

    • Discuss the pros and cons of HTML/CSS frameworks

    Unit 4: Introduction to JavaScript

    Welcome to JavaScript, a fully-fledged and very powerful programming language. Huge applications are built with JavaScript, and it runs natively in your browser, but it can also run on the server or various other devices such as a smartphone. Recent advancements in the JavaScript developer universe have made JavaScript-capable of running many different kinds of applications. This is going to be a whirlwind introduction to a very deep subject. You’ll learn the basics of JavaScript, how to experiment with it, and how to use it to affect a web page. You’ll use it to interact with a user’s data submission, and you’ll get a view of how much potential the JavaScript world offers.

    What will you learn in this unit?

    • Discuss and create basic JavaScript variables and data structures, such as strings, arrays, and objects

    • Use basic JavaScript decision-making and looping statements

    • Create JavaScript functions and objects

    • Understand how JavaScript interacts with web pages

    Unit 5: Web Development Platforms

    Up to now, we have been learning about how to create content for the World Wide Web. Now we are going to take explore the underpinnings of the WWW itself. In this unit, we will take a look at the different types of servers and hosting services where websites “live.” We’ll learn how to secure a unique name for your website so that any browser can locate it, and we’ll learn how to make the most of various browsers for various tasks. When we’ve put it all together, you’ll end up with your personal toolkit—the development stack that will let you build any website you can dream up.

    What will you learn in this unit?

    • Choose a reasonable server for website development and deployment

    • Discuss a server’s roles and some of the technical components of server hardware

    • Understand the browser’s role in relation to the webserver

    • Think about browser and server technologies altogether as a “stack” of development tools and strategies

    • Understand emerging trends in web development platforms

    Unit 6: User-Centered Planning and Project Management

    Thoughtful planning is crucial to success in any project but especially in web development. You need to start with a good understanding of your clients’ needs and goals and make sure that they correspond to what the site’s users need as well. There are many tools that will help you with the planning and production process. You will learn to make the most of them to develop an information architecture that can be both strong and flexible to meet your clients’ needs. You’ll also learn some tips to make your site even easier to find and use.

    What will you learn in this unit?

    • Describe the steps of a typical professional website planning process

    • Define information architecture and describe the steps involved in the information architecture process

    • Discuss and recognize the tools used for information architecture

    • Understand and discuss the principles and tools used in web project management

    • Know the principles and some technical ideas related to search engine optimization

    Unit 7: Organizing Web Files

    A good portion of web development is spent handling, organizing, moving, editing, and generally herding files. But handling files well is about keeping certain principles in mind, as well as understanding available tools. As your skills progress, you’ll learn more and more file types and file extensions, and you’ll develop solid practices for naming files and folders. You’ll start to develop strong skills for moving around filesystems while working on the command line or with a graphical user interface, and you’ll start thinking about directories as tree-like structures that put files into specific relationships with each other. You’ll also become accustomed to transferring files or directories of files to a server with a set of tools. Files are central to web dev, and you’re going to become very good at working with them.

    What will you learn in this unit?

    • Name files appropriately, according to their type and established practices in web development

    • Work with directories, subdirectories, parent directories, and paths

    • Describe the difference between absolute, relative, and site root-relative paths

    • Properly organize a website’s file structure

    • Identify the commonly used tools for uploading files to a web server

    Unit 8: Web Project Workflow

    It’s time to wrap up our introduction to web development with some concepts that round out our survey of the field. Project workflow—while somewhat personal with respect to individual developers’ roles and habits—does require familiarity with a number of frequently encountered ideas. The software development lifecycle is a way of looking at how software is developed through iterations of repeated, consistent steps. We’ll also look at one of the most important individual workflow topics: source code management. Particularly, we’ll take a look at one of the most common SCM tools out there—git—and we’ll see how a project is set up to accommodate SCM. Then, considering that knowledge is being acquired quickly, we’ll take an introductory look at two of the most common tasks in development: setting up a connection to a SQL database and uploading files to a server. Finally, we’ll round out with a brief overview of creating a test plan and introducing the idea of testing workflows, which are daily and continual parts of the web development process in the professional realm. We’ve come a long way during this introduction and, quite candidly, we’ve conducted an overview of the field which isn’t commonly given in other contexts that focus on coding alone or some specific idea. You’re starting to get a real picture of professional web development.

    What will you learn in this unit?

    • Understand real-world project workflow

    • Get started with version control

    • Work with the basics of connecting to a database

    • Discuss basic file uploading

    • Start designing a testing plan

  • Websites need to be functional, but they need to look great while doing the job! Now that you’ve learned how to create web content, you’ll learn how to apply design principles, like color combinations and font choices, to achieve the greatest impact. You’ll also learn the behind-the-scenes tasks of organizing your files, ensuring website accessibility, following intellectual property regulations, and performing site backup and maintenance. Let’s unravel the web development process!

    Unit 1: Beautiful Web Design

    Let’s tackle some basic principles of good web design. Aesthetics—the study of beauty—suggests that there are a range of reliable principles we can use to create designs that are pleasurable and that communicate effectively, with respect to both information and emotion. We’ll be taking a look at a number of these principles organized around three essential categories: layout, color, and typography. This is a whirlwind tour of design, a subject to which many professionals devote their lives. But after this, you’ll be able to start thinking about your own design workflow, along with an understanding of how time-tested principles make statements about what beauty is.

    What will you learn in this unit?

    • Conceptualize and apply solid principles of web layout

    • Use a color wheel and create a design palette characterized by effective, complementary color combinations

    • Select sensible fonts, according to the mood a design is intended to project and how the fonts will relate to each other

    • Identify common tools used by web designers to select colors and fonts

    • Execute a basic workflow when creating a site’s design

    Unit 2: Files, Formats, and Media

    Files are everywhere in web development and a large number of every developer’s daily tasks involve pushing files around, optimizing file sizes, and organizing files correctly. There are a lot of different kinds of files developers routinely deal with; we’ll especially take a closer look at what distinguishes multimedia files—images, sounds, animations—and how to incorporate them into a web page. We’ll also look at an alternative web-dev workflow that focuses on visually oriented development, and we’ll see where that departs from, and unexpectedly adheres to, a developer’s typical set of skills. With a little practice, you’ll have a little more confidence incorporating all kinds of files into your websites.

    What will you learn in this unit?

    • Discuss the structural details of text, image, and multimedia files

    • Incorporate audio and video files into a web page using HTML5 elements

    • Explain multimedia-content technology in historical terms

    • Use a visually oriented web development environment

    • Create simple audio and animated media

    Unit 3: Web Maintenance and Performance

    Once a site is released into the wild web, a developer’s job can become more involved due to the demands of live web traffic. This is confounded by the fact that servers are just devices and, like all devices, they can fail unexpectedly. In order to ensure smooth running, a server needs to be backed up on a regular schedule, and maintenance plans need to be put in place. Careful documentation ensures that changes made to servers and other details associated with them are kept handy in the event of a problem. In addition to backup and consistent software updates, good site maintenance also includes analytics, search-engine optimization, a quality assurance process, and continual testing and adjustment. Getting a good overview of these processes will give you some idea about how to keep your site in fighting shape.

    What will you learn in this unit?

    • Think functionally about server and site maintenance

    • Discuss different kinds of server backup and their roles

    • Describe the role of web analytics

    • Explain the quality assurance process and how it fits in with analytics and testing

    • Start working with SEO and code adjustments meant to improve search-engine results

    Unit 4: Legacy Markup: XHMTL

    XML, a data-oriented markup language, is everywhere on the web and in computer applications that we use every day. It’s very useful to understand the important role that XML plays in our continual consumption of data through the web. Even though you will most likely use HTML5 more regularly, knowing the ins and outs of legacy markup helps you know how to work with them when you do come across them.

    What will you learn in this unit?

    • Discuss how XML documents are used in development contexts

    • Describe the role XHTML has played in the history of web development

    • Distinguish the important but somewhat subtle differences between an XHTML and an HTML5 document

    • Identify the three XHTML 1.0 DOCTYPEs

    • Perform the basic steps to transform between XHTML and HTML5

    Unit 5: Web Security

    Because we so often access the web from the comparatively ordered environments of work and home, it can be easy to forget that the web is, in many ways, a pretty risky place. Hacking attempts are not just frequent—they’re everyday occurrences, with users’ data as the contested prize. In order to work more safely on the web, you’ll need a set of solid security principles. For the sake of technical excellence and client safety, you’ll also need to understand how to protect your servers and your code in order to deal with the web’s less-friendly denizens.

    What will you learn in this unit?

    • Understand the critical importance of security in a context where attacks are common

    • Apply a starting list of security principles that will begin to guide your thinking about trust and privacy on the web

    • Discuss a few of the basic and most common web attacks

    • Protect your server and know when to use encryption

    • Think about safe-coding practices and how to defend against various kinds of code injection

    Unit 6: Web Regs

    The world is a beautiful place, blanketed in fertile fields of wildflowers with deer grazing on lush grasses in warm sunlight. Chances are, though, someone owns the field, the flowers, and probably the deer. If they can, they’ll try charging you for the sunlight. Likewise, the web is governed by laws and policies. We’ll address a few basics of intellectual property and copyright and begin a habit of thinking about the web as a collection of resources that are owned by others. We’ll also address key ideas about accessibility and making sure that the resources we make available on the web are both ethically and legally usable to as many people as possible (a good thing for everyone). Finally, we’ll consider a few points about doing business online and privacy. When you’re finished, you’ll begin to see the web not only as a useful necessity but also—as is so often the case with centers of interaction—a legally regulated space.

    What will you learn in this unit?

    • Identify key protections related to intellectual property, such as patent, trademark, and copyright

    • Understand licensing rights and how to avoid plagiarism in a web context

    • Explain principles of accessibility on the web, including the Americans with Disabilities Act of 1990

    • Describe how to address common accessibility issues and how to ensure accessibility for a web page

    • Discuss principles of e-commerce on the web, as well as some important social and political ideas related to the web

    Unit 7: The Mobile Web

    The world’s information flows through mobile devices at an increasing rate of consumption. In fact, devices have become the preferred way to experience the web. For this reason, the web-dev world has adopted a mobile-first philosophy, creating frameworks and tools that put device-centric experiences at the forefront of development priorities. This approach increases reliance on solid mobile-first frameworks and libraries, such as Bootstrap. A library like Bootstrap will accelerate development by providing tested solutions to common issues in mobile development—responsive design, for example, is a critical requirement in the mobile context. Generally, the mobile mindset is a new way of looking at web development, and it’s here to stay.

    What will you learn in this unit?

    • Describe what’s meant by mobile-first development and how mobile-first priorities affect web development

    • List the key priorities for choosing an effective and useful development framework or library

    • Integrate the Bootstrap mobile-first, responsive framework into your project

    • Understand and use a responsive grid system for web layout, as well as implement a Bootstrap-enabled responsive navbar and generally think about responsive components

    • Discuss how mobile-first development has an effect on e-commerce development

    Unit 8: Working the Web

    So what kind of career can you expect to have? And how does someone get started on the path? We’ll examine the role that career-specific education and organizations can play in your growth as a developer. By gaining experience with competitions and career mentoring, you’ll be prepared to put together a resume and a portfolio that will serve as the foundation for your job search. You’re also going to need to know a few things about how the interview process works—the stages of the interview and what’s expected of you at each stage. Finally, we’ll look at what working as a web developer might feel like in a typical context. It’s always good to know what to look forward to.

    What will you learn in this unit?

    • Take advantage of the resources offered by a Career and Technical Student Organization

    • Discuss and seek out competitive opportunities for high-school coders

    • Summarize the roles of the developer’s resume and portfolio in the job search

    • Prepare for an interview

    • Outline a typical day in a developer’s work life

  • Learning to code is like learning a clandestine language, and now is your chance to get in on the secret! In this course, you will learn about the building blocks of coding. You’ll explore how real-world problems can be broken into algorithms described through coding and then use the approachable and versatile coding language of Python to generate the output you’re looking for. You’ll cover both procedural and object-oriented programming and even create two text-based adventure games along the way. Are you ready to get in on the secret?

    Unit 1: Let’s Get Coding!

    Are you ready to run your first code? Let’s jump right in! But first, we’ll do a quick review of what makes a computer a computer and how everything works together to create the technology most of us take for granted. By understanding the fundamental layers of how computers work, we’ll be able to dive confidently into programming with PythonAnywhere and create our first code.

    What will you learn in this unit?

    • Describe how computers process information

    • Identify the characteristics of major operating systems

    • Understand how information is stored in computer memory

    • Manage and create files using the PythonAnywhere programming environment

    • Generate basic code structures in PythonAnywhere

    • Explain how variables and comments help keep code organized

    Unit 2: Give Your Code Some Structure

    To get good at coding, you need to be comfortable thinking about things as algorithms—or patterns. Really, anything we do in a repeatable, step-by-step way is an algorithm, so you’ve had a lot of practice in daily life. We will explore common coding algorithms and look at techniques like sequence, selection, and iteration, which can make your code a lot more concise. Once you get the hang of things, we’ll look at how to create your first game out of code!

    What will you learn in this unit?

    • Describe how algorithms work in Python

    • Explain how operators are used in Python

    • Demonstrate how selection and iteration help us solve problems through code

    • Compare values of several numbers with Boolean variables and relational operators

    • Create your own text-based adventure game using sequencing, selection, and repetition

    Unit 3: Organizing Your Data

    You might be used to organizing your video games, your photos on a smartphone, your books, or even your clothes, but have you ever thought about organizing your data while coding? Your socks won’t organize themselves, and neither will your raw data. So, you need to use different drawers or containers for data. These containers are called data structures. There are several cool ways we can use them in our Python programs. Whether we’re talking about making a list, stacking books, or waiting in line, there’s a data structure for it!

    What will you learn in this unit?

    • Create a list data structure

    • Utilize a dictionary data structure to pair states and capitals

    • Define and implement tuples and sets

    • Determine when to use a stack data structure

    • Understand how a queue functions in Python

    • Use trees and graphs in PythonAnywhere

    Unit 4: Programming Tools

    You’ve had some practice now with Python, but it’s time to add even more tools to your tool belt! There’s so much more to programming than simply writing code. We have resources like libraries, APIs, version control, and the software development life cycle to help us. In this unit, we’ll learn how to sharpen our tools and work together with other programming professionals to make the magic happen! We’ll also write some pretty neat code along the way!

    What will you learn in this unit?

    • Import and use Python libraries in programs

    • Describe the roles of APIs and collaboration tools in developing software

    • Differentiate among the phases of the software development life cycle

    • Write code using a structured design approach

    • Discuss the basics of object-oriented programming

    Unit 5: Let’s Get Object-Oriented

    We can think of coding much like learning a language. We learn individual words, yes, but we also have to understand the structure those words need to appear in to make sense. We’ve covered all that, and now, we’ll expand on that knowledge by using object-oriented design to create more advanced projects. Do you remember the adventure game we worked on a bit ago? It’s time to do a deep dive into object-oriented programming by crafting a new text-based adventure game with even more fun options, using everything you’ve learned so far about Python and adding some exciting new skills along the way.

    What will you learn in this unit?

    • Understand how engines function in game design

    • Define and describe basic object-oriented concepts such as class, object, attribute, and method

    • Create classes that contain scenes for an adventure game

    • Use inheritance to implement subclasses

    • Generate random numbers for use in a game

    • Instantiate objects with a dictionary data structure

    Unit 6: Testing and Debugging

    You’ve just written the coolest program of your life and are super excited to test it out…but it won’t run because of errors. Don’t be too disappointed—it happens to even the most experienced programmers. The good news is that you’ll soon have the skills and tools to test your program thoroughly and make the necessary changes. So, don’t delay—start testing now!

    What will you learn in this unit?

    • Describe and identify common programming errors

    • Solve logic errors in your programming

    • Explain the goals of program testing

    • Analyze how testing is used throughout the software development process

    • Write a test plan with test cases

    • Gather and use feedback from peers and professionals

    Unit 7: Computer Science Ethics

    There’s a lot going on in the field of computer science ethics. From policies and legislation to gray areas, ethics will always keep you on your toes! Let’s explore some of the impact that technology has had on the world and our personal lives as well as how we can use that technology ethically and responsibly. We’ll become aware of some issues and injustices as well as how legislation affects our privacy and security. Are you ready to become a digital citizen? Let’s go!

    What will you learn in this unit?

    • Discuss how computing has impacted business and commerce

    • Analyze the personal and societal effects of technology

    • Evaluate the impact of the digital divide

    • Use computers ethically and responsibly

    • Analyze the impact of government legislation on privacy and security

    Unit 8: Become a Polyglot Programmer

    Programming involves more than just learning a language and writing code. You need to be up to speed on how languages work on a deeper level and on which languages are best suited for which projects. We’ll take a closer look at programming languages and transition into how programmers approach projects and accomplish tasks. Then, we’ll explore some exciting programming opportunities in your future and how to make yourself a marketable programmer employers will be lining up to hire!

    What will you learn in this unit?

    • Explain the program execution process, including differences between compiling and interpreting

    • Differentiate programming paradigms and understand when they are useful

    • Use a variety of tools and resources to plan and execute a programming project

    • Investigate specializations and job opportunities within the programming field

    • Cultivate the practices of lifelong learning, self-awareness, and self-management

  • You have already learned a lot about the language of coding, and now, it’s time to become even more fluent and multilingual! In this course, you’ll continue working with Python, but you’ll also add other languages like HTML, CSS, and JavaScript to your coding toolkit as you build and style a web app! You’ll explore data structures to process information, how to stay on schedule and prepare for app updates, and how to improve the functionality, look, and safety of your app. Each new coding challenge we meet invites us to expand our skills, and there’s always room for creativity when you you’re working with code. Let’s get to it!

    Unit 1: Count Like a Computer

    When you take a selfie or use your laptop to record a video of yourself giving a speech, how does the device actually store the image or video? Computers only know a language called binary, which just consists of 0s and 1s. So, every image, song, video, and letter needs to be converted into binary. How exactly does this happen? Can we really reduce every type of data down to a 0 and 1? You’ll learn all this and more as we investigate digital representation of data. You’ll even put your coding skills to use as we create a Python program to do a binary conversion for us!

    What will you learn in this unit?

    • Describe how binary and hexadecimal number systems are used in computing

    • Perform conversions between binary and decimal number systems

    • Create a Python program to convert decimal numbers into binary

    • Explain how images are converted into binary

    • Distinguish between how audio, video, and text are converted into binary

    Unit 2: Plan On It!

    Did you know that only 25 to 30 percent of the time spent creating a new piece of software is dedicated to actual coding? So, what happens the rest of the time? It turns out that most of the process is pretty crucial for the success of the software! From planning and analyzing to designing and testing, there’s a lot that goes into the software development life cycle. Let’s explore various software development methodologies that help turn dreams into reality!

    What will you learn in this unit?

    • Use the software development life cycle to create a computational project

    • Differentiate among several methodologies of program development

    • Create a software design document

    • Conduct a design review of a program design

    Unit 3: HTML and CSS

    Have you ever wondered how websites are created? These days, almost everyone is on the web, and most organizations have websites. So, web development is a really useful skill! Let’s learn the basics of web design and coding. We’ll experiment with various HTML elements and CSS rules, and we’ll come out with a really cool, professional-looking web form at the end. Get ready to create!

    What will you learn in this unit?

    • Use a variety of HTML elements

    • Create a web page using Replit

    • Code a basic web form using HTML

    • Apply styles using a variety of CSS properties and selectors

    • Divide a web page into sections using HTML divs

    • Add advanced CSS style to a web form

    Unit 4: Jazz It Up With JavaScript!

    Some of the most interesting websites are interactive. They have moving elements and dynamic features that catch our attention and draw us in. The web language JavaScript can help us achieve this look and feel. In this unit, we’ll be exploring the basics of JavaScript, including inputs, outputs, data structures, and control structures. We’ll tackle some fun projects such as simulating a light bulb switch and creating a quiz game. By the end, you’ll come away with a newfound appreciation for this popular web language!

    What will you learn in this unit?

    • Use JavaScript to display outputs and manipulate user inputs

    • Explain how the Document Object Model (DOM) can be used to interact with HTML elements

    • Discuss the differences among data types and structures in JavaScript

    • Create a JS program that uses multiple functions, data types, and data structure

    • Complete a program that successfully interacts with a user

    Unit 5: Fun With Flask and Filters

    How does the internet actually work? Sometimes, it seems like magic floating through the air, bringing us entertainment and information. Not quite! Let’s explore how the internet and web work in detail, including different types of connections, packets, and IP addresses. We’ll also differentiate between websites and web apps and use the web framework Flask to create our very own web app that lets users apply cool filters to their images. Get ready to roll your sleeves up and have some coding fun!

    What will you learn in this unit?

    • Describe how the internet works in terms of connectivity, IP addresses, and packets

    • Explain how frameworks can be useful in creating web apps

    • Create the backend logic of a web app using Python code

    • Build an uploader in a Flask web app that allows users to upload files

    • Code the HTML for a web app

    Unit 6: Glam Your GUI

    The way we interact with computers has changed dramatically over the years. Gone are the days of only typing in text-based commands on a black screen. These days, we have exciting, interactive graphical user interfaces that allow us to accomplish our tasks and have a good experience. Let’s learn how to implement creative, aesthetically pleasing GUIs through web design. We’ll cover some tips and tricks for GUI design, and you’ll get plenty of hands-on experience along the way!

    What will you learn in this unit?

    • Describe the evolution of interfaces over the last century

    • Review key tips to make your interface design attractive to users

    • Explain how usability heuristics can improve the user experience

    • Collect data using an online form’s GUI

    • Analyze and manipulate data collected through a GUI

    • Use CSS to create an attractive, effective GUI

    Unit 7: The World of Cybersecurity

    Most of us use the internet every day for a variety of tasks, but how protected are you really when you go online? Cybercrime has skyrocketed over the last several years, and more and more people are getting their identities stolen. As hacking is not going away anytime soon, we need to learn how to protect ourselves. Let’s explore some security and privacy threats as well as learn practical tips for protective measures. We’ll also do something really practical by adding some security to the Flask web app you’ve already created. Let’s do this!

    What will you learn in this unit?

    • Discuss security issues that relate to computer networks

    • Investigate measures to protect computer systems from security threats

    • Describe privacy issues you may face online

    • Consider ways to protect your personal information online

    • Apply security measures to a Python web app

    Unit 8: Ready for Launch!

    We’ve come a long way with our web app, but making a truly spectacular web app involves more than just writing code. We need to consider how the app will look on a variety of devices, including smartphones, tablets, and laptops. Let’s get some hands-on practice with making a web app responsive on different devices. We will also consider how we can best deploy and market a web app so that it has a good chance of succeeding. Are you ready to launch your web app?

    What will you learn in this unit?

    • Describe general tips for incorporating responsive web design

    • Create a responsive top navigation bar using HTML and CSS

    • Design a responsive vertical menu using HTML, CSS, and JavaScript

    • Discuss strategies for deploying a web app

    • Plan ways to market a web app

  • You’ve already experienced web development on a smaller scale, but now, it’s time to kick it up a notch! You’ll hit the ground running with the Agile methodology of software development and how it plays into leadership and teamwork amongst developers. You’ll also approach web development from a different perspective- your users!- and you’ll learn to speak the language of JavaScript to enhance your web development efforts. Your efforts will commence in a professional portfolio that will allow you to experience GitHub to display your work. Let’s get that framework going!

    Unit 1: Working in Software Development

    As a web developer, you’ll need to learn critical skills for both teamwork and freelancing. On this journey, you’ll gain insight into the ways real software engineers write code and manage their projects with Agile methodologies. Rather than joining an existing company, some web developers prefer to freelance by creating their own brand and bidding to attract personal clients. You’ll learn how to build your portfolio and write competitive proposals. Finally, we’ll introduce the cumulative design project: a data science website where you can dig deep into a preferred topic of your choosing as you practice your research and presentation skills along the way.

    What will you learn in this unit?

    • Describe the principles of Agile software development

    • Explain the responsibilities of each role on an Agile team

    • Create a unique brand, project proposal, and portfolio website

    • Dive into a data-driven research project of your own

    Unit 2: Make a Plan

    Learn the soft skills of project management, communication, and professionalism you’ll need to succeed on the job. Look over the process for creating a website for a real-world client, stepping through each phase of the design and development. You’ll get a sense of the wide variety of tools and technologies for collaboration in the workplace, including GitHub, Repl.it, Trello, Jira, Asana, and more. Finally, you’ll explore and discover how to connect with a mentor, resolve on the job conflicts, and be your best, ready to tackle a wide variety of web design and software development challenges with a solid plan for success.

    What will you learn in this unit?

    • Identify and manage elements of the website development process

    • Demonstrate project management skills, such as communicating appropriately with a team and identifying tasks that have dependencies

    • Set up Repl.it and GitHub as key tools for web development work in this course; identify other industry tools

    • Practice work behaviors, such as interview skills and conflict resolution, that enhance employability and job advancement

    • Develop clear communication skills

    Unit 3: Sketch It Out

    One of the most important parts of designing a website is crafting the user interface: what people will interact with to navigate and use the website. User interface is something we take for granted online, but a lot of thought goes into planning and coding the layout of a website. The professional way to draft your ideas for a web layout is with wireframing, like a digital blueprint for the final product. Along with wireframing, you’ll learn to storyboard: visually predicting and exploring a user’s experience with a product before you create it to find any bugs or prioritize important features. This is also an important part of the Agile process of story mapping, a final step in organizing your plan to create your website.

    What will you learn in this unit?

    • Identify and design intuitive user interfaces

    • Describe how CSS can be used to create website layouts

    • Create wireframes and storyboards to illustrate your product ideas

    • Plan projects with an Agile story mapping process

    Unit 4: Get Scripting

    Computer languages have evolved a lot just over the last few years. New versions are continually released and updates are made all the time, even to the most popular languages. We’ve come a long way since the 20th century, but it’s important to understand the roots of modern scripting languages along with the ins and outs of their syntax and modern usage. We’ll dive in by taking a look at the differences between various programming languages, reviewing JavaScript fundamentals and new features, getting an introduction to libraries, and exploring some examples of DOM events and cookie manipulation.

    What will you learn in this unit?

    • Explain the function of scripting languages, their history, and some of the modern options available to programmers

    • Work with the basics of JavaScript code, including variables, data types, conditionals, loops, and arrays

    • Describe how JavaScript has changed over the years, including some new features and modern libraries

    • Read and write common DOM events, including creating, updating, and deleting cookies

    Unit 5: Making JavaScript Work For You

    We will dive under the surface of HTML, CSS, and JavaScript to explore how web pages are structured and better understand how information is sent from place to place on the World Wide Web. Web technologies are constantly evolving, and it’s important to understand some of the most modern innovations in web design as well as older ways of writing code and how websites used to be different from how they are now. The document object model is a powerful tool for manipulating web pages, and along with an overview of object-oriented programming, you’ll be ready to start some more advanced web development projects and strengthen your understanding of everything that comes together to make websites work the way we want.

    What will you learn in this unit?

    • Describe the purpose of the document object model

    • Understand and incorporate JavaScript objects, classes, and functions

    • Manipulate links and images with the document object model

    • Understand the importance of AJAX and related web technologies

    Unit 6: JavaScript Forms

    In this unit, you will learn everything you need to know about JavaScript forms. Almost every modern website uses forms in one way or another and understanding how to write and use forms effectively is a critical skill for any web developer. Everything from product ordering to internet marketing depends on accurate information about customers gathered from forms. Being able to write and validate your own forms will bring you that much closer to your future career in web development.

    What will you learn in this unit?

    • Conduct effective internet marketing

    • Identify and use form elements to solicit user input

    • Validate web forms prior to submission

    • Use JavaScript with HTML form controls

    Unit 7: JavaScript Libraries

    In the physical world, a library is a place where you can discover hundreds of years of knowledge to add to your projects. In programming and web development, a library is a similar resource of tools that can expand our abilities beyond what one person could reasonably write by themselves. We’ll look at how JavaScript libraries work and how to use them in your own code. We’ll explore the advantages and disadvantages as well as giving you tips and tricks for choosing your libraries wisely.

    What will you learn in this unit?

    • Explain how a library item achieves desired processing

    • Explore common JavaScript libraries and describe the advantages and disadvantages of using libraries

    • Analyze pre-built library items to determine functionality

    • Incorporate pre-built library items into web pages

    Unit 8: Do Your Users See What You See?

    Browsers are a fundamental part of the way we use the internet, but they can also be a sticking point when we try to get our websites working on all devices. We’ll look at common browser compatibility JavaScript issues and how to solve them. We’ll explore several tools to track down or work around problems, like browser dev tools, polyfills, and libraries. Getting modern JavaScript features working in older browsers isn’t the most glamorous part of web development, but it’s important to keep in mind that many of your users won’t have the same computer system you’re using to develop your website. What might look great to you might not even load on someone else’s machine.

    What will you learn in this unit?

    • Understand what a browser is and why there are a variety of them

    • Identify key browser features and how to use them like a professional

    • Determine which version of JavaScript specific browsers support and code a program to meet acceptable standards

    • Describe how obsolete constructs and coding practices affect browser function

    • Make web pages accessible and functional when JavaScript is disabled or unsupported

  • You’ve done a ton of work on your website already, and now, it’s time to put the finishing touches on it and make it work for you! In this course, you’ll explore topics and hone skills to help you perfect your portfolio so it’s ready to share with future employers. You’ll discover common coding errors and security threats, website accessibility and reliability, and become more fluent and efficient in JavaScript. You’ll also learn how to make on-the-job choices and adjustments and refine communication with your clients. In the end, you’ll turn your website into a presentation to share with friends and family so you can showcase your achievements.

    Unit 1: Questing After Quality

    Is your code doing what you expect it to? It’s easy to introduce errors into code as you write it. We’re only human, after all. You may be used to revising your essays and research papers and checking your presentation for errors, and you might be surprised by what you have found. Remember that computer code is also a language and needs to be checked to make sure it is doing exactly what you want it to be doing. Here you’ll learn some common JavaScript errors and ways to spot them.

    What will you learn in this unit?

    • Use modern developer tools to debug your code in an efficient and effective way

    • Recognize, isolate, and correct common type and syntax errors in JavaScript

    • Study and correct common runtime and logic errors in JavaScript

    • Identify examples of reserved word usage and troubleshoot pre-built scripts and widgets incorporated into web pages

    Unit 2: Secure Your Perimeter

    Let’s pretend your website is your home: you likely want to control who gets access to which parts of the house. We’ll meet some historic cryptographers, the hackers of days gone by, whom you would have likely wanted as guests in your home. We’ll then take a look at the vulnerabilities of JavaScript and the common types of attacks that exploit those vulnerabilities. While we cover an overview of how to prevent such attacks, a lot of cybersecurity is best left in the hands of experts. Our main goal here is to make you aware of situations you may meet in your career. Just like you might check your windows and doors are locked before you go to bed, as a web developer, it’s important to know what tools you have at hand to prevent cyberattacks on your websites.

    What will you learn in this unit?

    • Describe how Native American Code Talkers and spoken code are precursors to modern cryptography

    • Identify key figures and explain their contributions to the history of hacking

    • Compare and contrast cross-site request forgery and cross-site scripting as the two main security threats related to JavaScript

    • Explain procedures that can prevent CSRF or XSS attacks

    • Locate your role in the cybersecurity industry and identify what opportunities you have to increase your cybersecurity experience

    Unit 3: Evaluate the Product

    What are the steps between having a working form of your product and releasing it live for your customers to use? A whole lot of testing. Your main goal is to have a product that does what the client expects it to and works for as many users as possible. Within this framework, there are a number of accessibility options and various methods of testing and getting feedback on your product before you go live. Better to get the feedback early before it affects your product ratings!

    What will you learn in this unit?

    • Give examples of structural accessibility features that would help a screen reader navigate a website

    • Identify accessibility features related to forms and links, and summarize why having sufficient text contrast is an accessibility concern

    • Explain when and when not to automate display and functionality testing

    • Develop an evaluation method to analyze the effect of the product or service on client satisfaction

    • Set up a product trial or product demonstration

    Unit 4: Prepare for Launch

    As you prepare a project for launch there are many things to consider: How will you work out the details with your client? Is the project a one-time contract or an ongoing relationship? How will you market your work or the product the client is selling? Is the project sustainable? What do you need to do to plan for the future while you launch the initial release?

    What will you learn in this unit?

    • Identify and demonstrate professional communication with clients

    • Explain what a retainer is and give examples of web development tasks that are best suited to be catered for in a retainer

    • Highlight the key components of a web development retainer

    • Discuss the various options available in internet marketing

    • Develop a sustainability plan for the product or service

    Unit 5: Introduction to Data Structures

    Websites are no longer used just to display content with nice colors and fonts. Nowadays, a web developer needs to be able to handle data, whether that’s for visualizations, gaming, or e-commerce. And in order to handle data, a web developer needs to know how to structure data and write algorithms that collect, analyze, and transform that data. Part of a web developer’s job is to carefully consider the right data structure for the task at hand. So let’s dig deeper into data!

    What will you learn in this unit?

    • Declare an array in JavaScript and access needed data from an array

    • Explain which array method would best suit given use cases

    • Write loops and methods using JavaScript arrays, including sorting

    • Explain how functions work in JavaScript

    • Pass functions as variables into other functions

    • Describe how to modify an object’s properties, based on a given use case

    Unit 6: Code Complexity

    When we are developing software, we have to know how to write our code so that it runs fast and stores data in memory in smart ways. There are many ways to write algorithms and many types of data structures. Choosing the right ones for your projects can be tricky. Knowing the trade-offs will help you use the right tool for the job. Learning to write more efficient code will help you get better jobs, spend less time debugging and rewriting your code, and create software that runs faster with the same hardware.

    What will you learn in this unit?

    • Explain why it’s important to measure code complexity

    • Describe the Big O complexity of constant, linear, quadratic, and polynomial time algorithms and explain what these algorithms are used for

    • Describe the Big O complexity of logarithmic, linearithmic, exponential, and factorial time algorithms, and explain what these algorithms are used for

    • Identify various data types and structures and describe how they contribute to code complexity

    • Explain how to perform breadth-first and depth-first searches and their applications

    • Apply searching and sorting to Dijkstra’s algorithm and the traveling salesperson problem

    Unit 7: Software Testing

    Testing your code is one of the most important parts of being a successful web developer. Without testing, you won’t know if your programs actually work until customers complain to you about problems. When you hear about problems, how will you know how to fix them? Software testing gives you the skills you need to find issues in your work before you release your code into the wild and helps you create better quality, safer, and more reliable final products.

    What will you learn in this unit?

    • Explain the general principles of unit testing

    • Identify the key characteristics of test-driven development (TDD)

    • Compare integration testing with unit testing

    • Summarize the principles and methods of end-to-end testing

    Unit 8: Continuing the Cycle

    Once you’ve spent all this time creating a great website, you’ll want that website to keep on working! And so do your clients and users. Reliable design is an important consideration as you polish up a website and prepare to set it loose on the web. Have you given your website room to grow? Is it set up to be responsive to the wide variety of mobile devices that may be used to access it? We’ll look at all of these topics and get you ready to present your portfolio in a professional setting.

    What will you learn in this unit?

    • Explain what reliability means when used to describe website design

    • Implement various methods of responsive web design using HTML and CSS

    • Describe how verbal, nonverbal, written, and visual communication skills can be used to one’s advantage in a professional setting

    • Use the structure of a portfolio presentation to share your work professionally

    • Prepare for an interview by knowing the steps and expectations involved