Preliminary Software Engineering
Unit 1 - Programming Fundamentals
Unit 1 - Programming Fundamentals
  • 1 - Programming Fundamentals
    • Programming Fundamentals Content
  • 2 - Python
    • Expected Python Knowledge
    • GitHub
    • Learning Python
    • Data Structures and File Management
      • Data Structures
        • Lists
        • Arrays
          • Single and Multi-Dimensional Arrays
        • Lists vs Arrays
          • Activities
        • Tuples
        • Sets
        • Dictionaries
          • Activities
      • File Handling
        • Loops, Lists, Dictionaries
        • Activities
  • 3 - Theory Content
    • Theory Content Explained
      • NESA Directional Verbs
      • Responding to Directional Verbs
  • 4 - Software Development and Management
    • Approaches to Software Development
      • Waterfall Model
      • Agile Model
      • Summary: Waterfall vs Agile
      • Activities
    • Software Development Steps
      • Sample Exam Question
      • Requirements Definition
        • Understanding the Need
        • Key Questions to Ask
        • Examples
        • Activities
        • Sample Exam Question
      • Determining Specifications
        • Functional Specifications
        • Non-Functional Specifications
        • Activities
      • Design
        • Top-Down Design Approach
        • Bottom-Up Design Approach
      • Development
        • Optimising Code
      • Integration
        • Example: Payment Program
        • Activity
        • Application Programming Interface (API)
          • Example: OpenWeather API
          • Example: WeatherAPI
          • Activity: Prepare Spells
      • Testing and Debugging
        • Test Data
          • Activities
        • Testing the System
          • Activities
        • Debugging
          • Types of Errors
            • Activities
          • Python Debugger
            • Activities
          • VS Code Debugger
            • Activities
      • Installation
        • Activities
        • Sample Exam Question
      • Maintenance
  • Charts and Algorithms
    • Example: IPO Charts and Pseudocode
      • Activities
    • Algorithms, Flowcharts, Pseudocode
      • Pseudocode Activities
      • Flowchart Activities
      • Sample Exam Questions
    • Structure Charts
      • Activities
      • Sample Exam Questions
    • Data Flow Diagrams
      • Activities
    • Data Dictionaries
      • Activities
    • Decision Trees
      • Activities
      • Sample Exam Questions
    • Gantt Chart
    • Class Diagrams
      • Sample Exam Question
    • Storyboards
      • Sample Exam Question
  • Testing and Debugging
    • Test Data
      • Activities
    • Testing the System
      • Activities
    • Debugging
      • Types of Errors
        • Activities
      • Python Debugger
        • Activities
      • VS Code Debugger
        • Activities
  • Computational Thinking
    • Decomposition
    • Abstraction
    • Activities
  • Version Control
    • Git
    • GitHub
    • Activities
  • Number Systems
    • Binary Systems
    • Hexadecimal Numbers
    • Using Two's Complement
    • Activities
  • 5 - Assessment Task 1
    • Data Science Project
      • Before we Start
        • Setting up GitHub Repository
        • Setting Up Markdown Documentation
      • Examples of API Usage
        • Starter Code: NASA Scenario
        • Starter Code: Spell Book
        • Starter: Pokédex Explorer
        • Starter Code: Weather App
        • Example: OpenWeather API
        • Example: WeatherAPI
        • Example: Prepare Spells
    • Task Guide
      • Requirements Definition
      • Determining Specifications
        • Use Cases
      • Design
        • Gantt Chart
        • Structure Chart
        • Algorithms
        • Data Dictionary
      • Development
        • Comments vs DocStrings
        • UI - main.py
        • Create Python Module
          • Example: NASA Module
          • Example: WeatherFetch Module
          • Example: SpellBook Module
      • Integration
        • Example: Pokedex
      • Testing and Debugging
        • Commit Changes
      • Installation
      • Maintenance
    • Submitting Your Task
Powered by GitBook
On this page
  • Easy Mode: Introduction to Python Development
  • Normal Mode - More Python for Beginners
  • Hard Mode - Even More Python for Beginners (Data Tools)
  • Hard Mode - Graphical User Interface (GUI) with Tkinter
  • EXTRA SPICY MEATBALL - Flask
  1. 2 - Python

Learning Python

PreviousGitHubNextData Structures and File Management

Whilst it is not a 'coding' course, you will need a certain level of skill in programming in order to complete projects and respond to exam questions throughout the course.

We'll get to this later, but we will be using GitHub regularly in order to store and share our code. This would have been demonstrated on another page.

Now, obviously some of you will be coming into the course with different levels of skills. I have all bases covered, from those who have not used Python before all the way to those who have used it extensively.

To understand how to use it, read the 'README.md' file. It is common for programmers to store a README file in their GitHub repositories to explain how to access resources.

For the remainder of the modes, all resources are in the links.

This is perfect if you are just starting your Python journey, or feel you need a complete refresher. These videos will show you how to setup VS Code, and will teach you Output, Data Types, Input, Conditional Statements, Loops, Functions, Modules, Packages, JSON and APIs.

If you already have some knowledge of Python and feel comfortable with the above, you can attempt these Microsoft tutorials. They will guide you through formatting, inheritence and classes and how to manipulate external files.

If you already feel highly comfortable around using Python (including classes), you can have a look through these videos on how to do some Data Science with Python. This includes creating dataframes in Pandas, reading in .csv files, visualising (graphing) data with Matplotlib and even creating machine learning models!

As an alternative to the data tools, you could start to look into how to create a simple GUI using Python and Tkinter. Check out the attached link.

You've done all of that before? Feeling confident? Dive into the Flask development tutorial. Flask is used for web application development and uses Python, HTML, CSS, Javascript and often an SQL database. It is not for the faint of heart, and also generally not required knowledge for this course.

For Easy, Normal and Hard modes below, you will need to access files from this link.
Easy Mode: Introduction to Python Development
Normal Mode - More Python for Beginners
Hard Mode - Even More Python for Beginners (Data Tools)
Hard Mode - Graphical User Interface (GUI) with Tkinter
EXTRA SPICY MEATBALL - Flask