Full Stack Web Developer
Average Salary: $65,000 - $90,000
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