Coding 1a: Introduction

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?

Review Course Outline

Units at a Glance

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

Required Materials

Software

  • Word processing software
  • Graphic design software
  • PythonAnywhere (requires login)
  • Spreadsheet software

 

Other

  • Helper (3)

 

Optional

  • Audio recording device
  • Video recording device
  • Writing supplies
  • Presentation software (optional)
Contact Us