JavaScript and Python
What Are We Trying to Accomplish?
Modern software engineers are expected to be language-agnostic problem solvers who can reason about logic, data, and control flow regardless of syntax. In this lesson, students are introduced to JavaScript and Python side-by-side to build a strong foundation in programming fundamentals that translate across the entire software stack.
Rather than treating these languages as isolated tools, this lesson emphasizes their shared concepts—such as variables, data types, conditionals, iteration, and functions—while also highlighting where and why they differ. Students will learn how each language fits into real-world engineering workflows, from frontend development with JavaScript to backend services, automation, and data processing with Python.
By the end of this lesson, students will not only be able to read and write basic programs in both languages, but more importantly, they will understand how to think like a programmer—breaking down problems, choosing appropriate control structures, and writing reusable, maintainable logic.
Lectures & Assignments
Lectures
Assignments
Enabling Learning Objectives (ELOs)
- Explain the role of JavaScript and Python in modern software engineering
- Identify and use primitive and complex data types in both languages
- Apply comparison operators and conditional logic to control program flow
- Iterate over lists, arrays, strings, objects, and dictionaries
- Declare, call, and reason about functions using parameters and return values
- Distinguish between constructive and destructive operations on data
- Recognize functional programming patterns such as mapping, filtering, and sorting
- Read and interpret basic JavaScript and Python code with confidence
Terminal Learning Objectives (TLOs)
- Write small, functional programs in both JavaScript and Python
- Translate logic and algorithms between JavaScript and Python
- Select appropriate control flow structures for a given problem
- Use iteration and functions to process and transform data collections
- Debug and reason through program execution step-by-step
- Demonstrate foundational programming skills expected in entry-level technical interviews
- Establish a strong base for future topics including frontend frameworks, backend development, data processing, and system design