Coding Semester 2

Success! Course " Coding Semester 2" is added to your selected list of courses. Please Click Here to view your selected courses list.
 Coding Semester 2
  • Recommended Grade Level: 9-12
  • Course Credits: 0.5
  • Course Price: $299.00

Course Overview:

Building on the prior prerequisite course, nurture your understanding of programming to take on new challenges! Discover a variety of development tools to create code while learning about methods for modular programming and coding structures. Explore security considerations, like encryptions, and toolkits to elevate your coding skills! Finally, start creating your own comprehensive software for the web and move through programming problems as part of the Capstone Project.

Prerequisites:

Required Materials:

  • Students will need to create a free account for the following sites:
  • https://www.pythonanywhere.com/
  • https://trinket.io/
  • Students will use the following site to create flowcharts:
  • https://www.draw.io/

They can interact with these web sites through any typical web browser.

Syllabus:

Unit 1: Get the IDE(a)?

What is the difference between soft- and hardware? That’s a pretty simple question isn’t it? But do you know how exactly the two play together in order to create the platforms that development and coding take place on? From the basics of hardware and software environments to specific tool-kits needed for development, we will be sure to cover all of this and more. After all, a solid knowledge of the necessary and available tools for development of any kind is essential in order to fully realize your potential as a developer, programmer or other IT expert.

What will you learn in this unit?

  • Identify, explain, and compare hardware components
  • Understand different software environments and explain what makes them unique
  • Briefly describe different sets of development tools
  • Accurately explain what dev tool-sets are and can be used for
  • Analyze why different tool-kits are used for different purposes

Unit 2: The Software—Human Interface

At the end of the day, which is more important—having a great interface for users or having well-built software that gets the job done? It’s a trick question. The two are equally important, but some programmers assume that the interface is more of an afterthought, something to be added when all the coding is done. This could not be further from the truth! In this unit, we will explore in detail why user interfaces are one of the most important pieces of any software or development.

What will you learn in this unit?

  • Define, explain, and manipulate different data types
  • Effectively prompt for, validate, and constrain input information
  • Design simple user interfaces and incorporate graphics into them
  • Describe different GUI libraries and toolkits
  • Perform simple tasks in PythonAnywhere and Trinket.io

Unit 3: Coding Structures

In previous units, you’ve gotten a taste of what you can do with Python. In this unit, you’ll develop your coding skills by learning about some of the most important features of Python and how to use them. You’ll learn how to create a program that can run different parts of the program in different situations. You’ll discover how to make something happen repeatedly—without having to code it over and over again—and you’ll see how you can organize your variables into groups.

What will you learn in this unit?

  • Describe, develop, and program selection statements
  • Explain, create, and use loops
  • Describe internal documentation and effectively use comments
  • Describe, create, and use lists
  • Understand, create, and use arrays, both single and multidimensional

Unit 4: Modular Programming

In the last unit, you got your feet wet with Python programming, and you’ve learned how to create some basic programs. Now, you will be able to expand your skills by learning how to create and use your own functions. Also, you’ll learn how to prevent errors from crashing your programs.

What will you learn in this unit?

  • Describe the process for creating functions and create your own functions
  • Demonstrate the ability to pass arguments into functions
  • Explain the difference between global and local variables and select the appropriate variable to use
  • Describe and use recursive functions
  • Describe strategies for avoiding errors and apply those strategies to a programming task

Unit 5: Data Security

Data security is something of a hot topic across the globe. Everywhere, people are taking steps to secure their information and companies are being forced to think about what to do with data due to privacy protection laws. If you were to go by the news alone, you’d think data security was bad almost everywhere, with banks and major companies reporting data breaches. How does this happen? You may have a rough idea of how companies are breached, but the truth is actually a lot more technical. So, let’s take a look at data security, both how it can be exploited, and also how it can be protected.

What will you learn in this unit?

  • Explain the principles of cryptography, including encryption, digital signatures, and authentication methods
  • Identify computer, network, and software security risks and vulnerabilities
  • Design appropriate system of controls and security measures
  • Implement a basic security method (encryption, digital signature, or authentication)
  • Describe how to recover a machine from systems failure or virus

Unit 6: Top-Notch Programming

Now that you’ve learned about lists and loops, you have some powerful Python programming tools that you can use when you write programs. In this unit, we’ll build on that knowledge so that you can program more efficiently. You’ll also learn about some classic algorithms used in programming. And, you’ll discover the most common ways that professional programmers improve their code.

What will you learn in this unit?

  • Use Python efficiently to create lists, access functions, and import modules
  • Explain and adapt classic algorithms in Python
  • Develop algorithms to solve computer programming problems
  • Describe and use common peer code review techniques

Unit 7: Developing Web Solutions: Part 1

Learning the theories of coding and Python is one thing, but practicing in the context of a complete project is something else entirely. Completing separate tasks and assignments is a great start towards a project, but in order to get to know every part of the development life-cycle of a piece of software, it’s necessary to do just that—so get ready to create your own piece of software as part of this project.

What will you learn in this unit?

  • Work as part of a structured team in assigned roles
  • Create the environment necessary for productive work (i.e., research, flowcharts, etc.)
  • Structure dynamic websites and design interfaces and solutions for them
  • Build front-end, client-facing websites with a full-stack of HTML, CSS, Python and Django in the cloud

Unit 8: Developing Web Solutions: Part 2

Finishing a project is always more difficult than starting it—the team is running out of motivation and energy. Some of the initial ideas didn’t work out and some aspects are running late—that is the reality of being a developer. Being able to see it through to the end, however, is the mark of being a good developer. Seeing that big idea completed and ready for usage is a great feeling—especially after all the hard work you put into it!

What will you learn in this unit?

  • Describe the structure of back-end coding
  • Test and debug your code
  • Launch and use your finished application
  • Explain the connection between databases and websites
  • Write and execute test scenarios as part of a project

Awards, Approvals, and Accreditation