Python & Java

Learn two powerful languages used for backend systems, automation, and enterprise applications.

Level: Beginner–Advanced Beginner: 1 month β€’ Intermediate: 2 months β€’ Advanced: 3 months Contact for pricing

Prerequisites

No prior experience required β€” open to beginners.

Certificate

Awarded by Rescue Academy on successful completion of the program's assessments and final project.

Learn Online β€” Live Classes

Register, receive your schedule, and join live instructor-led Python & Java classes on Zoom. Assignments, instructor feedback, and a certificate on completion.

Learn In Person

Attend Python & Java classes in person in Juba with hands-on labs, instructor mentorship, and a certificate on completion.

What You'll Learn

  • Variables, data types, operators, and functions
  • Control flow: if/else, loops, and errors
  • Files and basic data processing
  • Object-Oriented Programming: classes and objects
  • Mini projects: calculator, records list, simple CLI app

Curriculum

Beginner

Full lessons available below

Module 1: Fundamentals of Programming & Syntax

Learning objectives

  • Compare Python and Java syntax and typing

Lessons

  • Variables & Types in Python vs Java
  • Control Flow & Loops

Module 2: Object-Oriented Programming (OOP)

Learning objectives

  • Build classes and objects in both languages

Lessons

  • Classes & Objects
  • Inheritance & Polymorphism

Module 3: Data Structures & Algorithms

Learning objectives

  • Use core data structures and basic algorithms

Lessons

  • Lists, Arrays & Dictionaries/Maps
  • Basic Sorting & Searching

Module 4: File Handling & Exception Management

Learning objectives

  • Read/write files and handle errors safely

Lessons

  • Reading & Writing Files
  • Try/Catch & Exceptions

Module 5: Logic Building & Problem Solving

Learning objectives

  • Solve structured problems step by step

Lessons

  • Breaking Down a Problem
  • Building a Small Console Program

Intermediate

Outline β€” full lessons coming soon

Module 1: Working with Modules & Packages

Learning objectives

  • Organize code across files using both languages' module systems

Lessons

  • Python Modules & pip
  • Java Packages & Imports

Module 2: Collections in Depth

Learning objectives

  • Use advanced collection types effectively

Lessons

  • Python Comprehensions & Generators
  • Java Collections Framework

Module 3: Working with APIs & JSON

Learning objectives

  • Consume external data in both languages

Lessons

  • Calling a REST API
  • Parsing JSON Data

Module 4: Testing & Debugging

Learning objectives

  • Write basic tests and debug systematically

Lessons

  • Unit Testing Basics
  • Debugging Techniques

Module 5: Intermediate Project

Learning objectives

  • Build a multi-file program with real data

Lessons

  • Planning a Multi-File Program
  • Building & Testing It

Advanced

Outline β€” full lessons coming soon

Module 1: Design Patterns

Learning objectives

  • Apply common design patterns appropriately

Lessons

  • Common OOP Design Patterns
  • When (and When Not) to Use Them

Module 2: Concurrency Basics

Learning objectives

  • Understand basic concurrent execution

Lessons

  • Threads in Java
  • Async Patterns in Python

Module 3: Connecting to Databases

Learning objectives

  • Read and write data from a database

Lessons

  • Database Connectivity
  • Building a Data-Backed Feature

Module 4: Packaging & Deployment

Learning objectives

  • Package and share a finished program

Lessons

  • Packaging a Python App
  • Building a Java JAR

Module 5: Capstone Project

Learning objectives

  • Build a complete data-backed application

Lessons

  • Planning the Capstone
  • Build, Test & Present

Full Lessons β€” Beginner Level

1. Fundamentals of Programming & Syntax

Every language has its own syntax β€” the set of rules for writing code. Python uses indentation (whitespace) to group statements, making it clean and readable. Java uses curly braces { } and semicolons, and you must declare the type of each variable (like int or String).

  • Python variables: name = "John" β€” no type declaration needed.
  • Java variables: String name = "John"; β€” type is required.
  • Python reads like plain English; Java is more explicit and compiled.
  • Both are widely used in 2026 β€” Python for data/automation, Java for Android and backend systems.

πŸ’‘ Practical Skill: Write clean, reusable code. Use VS Code or PyCharm for Python, IntelliJ IDEA for Java. Track changes with Git.

Try it Yourself β€” Hello World & Variables

Python

# Python: no type declaration, indentation matters
name = "Grace"
age = 22
city = "Juba"

message = "Hello, " + name + "! You are " + str(age) + " years old."
print(message)
# Output: Hello, Grace! You are 22 years old.

Java

// Java: type declaration, curly braces, semicolons
public class Main {
    public static void main(String[] args) {
        String name = "Grace";
        int age = 22;
        String city = "Juba";

        String message = "Hello, " + name + "! You are " + age + " years old.";
        System.out.println(message);
        // Output: Hello, Grace! You are 22 years old.
    }
}

2. Object-Oriented Programming (OOP)

OOP models real-world things as objects with properties (data) and methods (behaviors). A class is the blueprint. Python and Java both support inheritance (a child class reusing parent code) and encapsulation (keeping data safe inside the object).

  • Python class: class Car: β€” simple, no access modifiers needed.
  • Java class: public class Car { } β€” with visibility keywords like public or private.
  • Both languages let you create objects: my_car = Car("Toyota") or Car myCar = new Car("Toyota");
  • OOP helps you organize large projects and reuse code across your team.

πŸ’‘ Practical Skill: Build reusable components. In IntelliJ IDEA, use refactoring tools to extract classes. In PyCharm, auto-generate getters/setters.

Try it Yourself β€” Car Class

Python

class Car:
    def __init__(self, brand):
        self.brand = brand  # property

    def honk(self):         # method
        print(f"{self.brand} says: Beep beep!")

# Create an object
my_car = Car("Toyota")
print(my_car.brand)   # Toyota
my_car.honk()         # Toyota says: Beep beep!

Java

public class Car {
    // Property (private for encapsulation)
    private String brand;

    // Constructor
    public Car(String brand) {
        this.brand = brand;
    }

    // Method
    public void honk() {
        System.out.println(brand + " says: Beep beep!");
    }

    public static void main(String[] args) {
        Car myCar = new Car("Toyota");
        System.out.println(myCar.brand);  // Toyota
        myCar.honk();                     // Toyota says: Beep beep!
    }
}

3. Data Structures & Algorithms

Data structures organize information so your code can process it efficiently. Python has built-in Lists and Dictionaries; Java uses ArrayList and HashMap. Both allow you to loop through data and filter based on conditions β€” a core algorithm pattern.

  • Python list: numbers = [1, 2, 3, 4, 5] β€” flexible, mixed types allowed.
  • Java ArrayList: ArrayList<Integer> numbers = new ArrayList<>(); β€” type-safe, must specify type.
  • Filtering with a loop is a fundamental algorithm for cleaning and analyzing data.
  • Mastering this helps you build everything from reports to AI pipelines.

πŸ’‘ Practical Skill: Automation scripts (Python) and backend logic (Java) rely on efficient data manipulation. Use VS Code with the Python extension for testing.

Try it Yourself β€” Filter Even Numbers

Python

numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
even_numbers = []

for num in numbers:
    if num % 2 == 0:
        even_numbers.append(num)

print("Even numbers:", even_numbers)
# Output: Even numbers: [2, 4, 6, 8, 10]

Java

import java.util.ArrayList;

public class Main {
    public static void main(String[] args) {
        int[] numbers = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
        ArrayList<Integer> evenNumbers = new ArrayList<>();

        for (int num : numbers) {
            if (num % 2 == 0) {
                evenNumbers.add(num);
            }
        }

        System.out.println("Even numbers: " + evenNumbers);
        // Output: Even numbers: [2, 4, 6, 8, 10]
    }
}

4. File Handling & Exception Management

Programs often need to read from or write to files. Things can go wrong β€” the file might not exist. That's why we use try/except (Python) or try/catch (Java) to handle errors gracefully without crashing.

  • Python: with open("file.txt") as f: auto-closes the file.
  • Java: try (Scanner sc = new Scanner(new File("file.txt"))) uses try-with-resources.
  • Catching specific exceptions (like FileNotFoundError) helps you give clear feedback.
  • Error handling is a must for any professional application β€” never let your users see a crash!

πŸ’‘ Practical Skill: Safely process data files from NGOs, surveys, or business records. Use Git to version your scripts before running on production data.

Try it Yourself β€” Safe File Read

Python

try:
    with open("data.txt", "r") as file:
        content = file.read()
        print("File content:")
        print(content)
except FileNotFoundError:
    print("Oops! The file 'data.txt' was not found.")
except Exception as e:
    print(f"An error occurred: {e}")

Java

import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        try {
            File file = new File("data.txt");
            Scanner scanner = new Scanner(file);
            System.out.println("File content:");
            while (scanner.hasNextLine()) {
                System.out.println(scanner.nextLine());
            }
            scanner.close();
        } catch (FileNotFoundException e) {
            System.out.println("Oops! The file 'data.txt' was not found.");
        } catch (Exception e) {
            System.out.println("An error occurred: " + e.getMessage());
        }
    }
}

5. Logic Building & Problem Solving

Logic is the heart of programming. You combine conditional statements (if/else) with loops to solve real-world problems. A classic example is FizzBuzz: print numbers but replace multiples of 3 with "Fizz" and multiples of 5 with "Buzz".

  • Use if, elif (Python) or else if (Java) to check conditions.
  • Loops let you repeat logic efficiently β€” great for data validation, report generation, and automation.
  • Building small utilities sharpens your problem-solving skills for bigger projects.
  • Python's concise syntax lets you prototype fast; Java's structure prepares you for large-scale apps.

πŸ’‘ Practical Skill: Create automation scripts (Python) or backend validation logic (Java). Use IntelliJ IDEA for Java debugging and PyCharm for Python testing with breakpoints.

Try it Yourself β€” FizzBuzz Utility

Python

# FizzBuzz: classic logic-building challenge
for i in range(1, 16):
    if i % 3 == 0 and i % 5 == 0:
        print("FizzBuzz")
    elif i % 3 == 0:
        print("Fizz")
    elif i % 5 == 0:
        print("Buzz")
    else:
        print(i)
# Output: 1, 2, Fizz, 4, Buzz, Fizz, 7, 8, Fizz, Buzz, 11, Fizz, 13, 14, FizzBuzz

Java

public class Main {
    public static void main(String[] args) {
        // FizzBuzz: classic logic-building challenge
        for (int i = 1; i <= 15; i++) {
            if (i % 3 == 0 && i % 5 == 0) {
                System.out.println("FizzBuzz");
            } else if (i % 3 == 0) {
                System.out.println("Fizz");
            } else if (i % 5 == 0) {
                System.out.println("Buzz");
            } else {
                System.out.println(i);
            }
        }
        // Output: 1, 2, Fizz, 4, Buzz, Fizz, 7, 8, Fizz, Buzz, 11, Fizz, 13, 14, FizzBuzz
    }
}

Quick Quiz β€” Python & Java Basics

What is the main difference in how Python and Java handle variable declarations?
Which statement correctly creates a class in Java?

πŸ’‘ Quick Tip: You are reading the free online version of this lesson. To get a certificate, attend in-person training and complete all assessments. Practice daily with VS Code (Python) and IntelliJ IDEA (Java) β€” both are free!

Tools & Technologies

  • VS Code
  • PyCharm
  • IntelliJ IDEA
  • Git

Career Opportunities

  • Junior web or software developer
  • Freelance developer for local businesses and NGOs
  • IT/software role in a company or government office

Practical Projects

  • Build a small console application implementing the same logic in both Python and Java
  • Solve a set of programming logic challenges using structured problem-solving

Ready to register for Python & Java?

WhatsApp: +211926196668 Email: rescueacademy26@gmail.com