Course Syllabi

Java 1

Week 1

  • Install Java, JDK and Netbeans, APConsole 

  • Why is Java useful? 

  • Java syntax

  • Printing

  • Comments

  • Introduction to variables and variable types

Week 2

  • Variables and types continued

  • Integers and integer operations (addition, multiplication, subtraction, modulo)

  • Doubles and double operations (addition, multiplication, subtraction, division)

  • Integer division vs double division

  • Introduction to strings

  • Concatination of strings

  • Equality of strings

Week 3

  • Math.random() 

  • Booleans and boolean operations

  • If statements

  • Else if, else

  • While loops

Week 4

  • For loops

  • Introduction to classes and objects

  • Annatomy of a class (fields, methods, constructors)

  • Public and private keywords

  • Introduction to methods

Week 5

  • More methods

  • Return and return types

  • Arguments

  • The void type

Week 6

  • Constructors

  • Accessor and mutator (getter and setter) methods

  • Static functions

  • Static variables

Week 7

  • Arrays

  • Array indexing

  • Default values

  • Array traversal

Week 8

  • Project

Python 1

Week 1

  • Create Replit account

  • Basic data types

  • Variables

  • Maths operators

  • Comparing operators

  • Basic string manipulation

  • Print and input

Week 2

  • Advanced string manipulation

  • Special characters (\n, \t)

  • String formatting using the library

  • String formatting using f strings

  • F strings

Week 3

  • List as a data type

  • Indexing (positive and negative)

  • Slicing

  • List methods

Week 4

  • Logical operators

  • Logic gates (not, and, or, xor, eq)

  • If, elif, else statements

  • Conditional ternary operator

  • Nested ifs

  • "in" opperator

Week 5

  • While loop

  • Pass, continue, break operators

  • While loop with else compound

  • For loop

Week 6

  • Functions

  • Basic recursion

  • Libraries and module

  • Import statements

  • Random module

  • Turtle module

  • Basic turtle movement

Week 7

  • Complicated turtle movement

  • Customisation in turtle 

  • Project

Week 8

  • Project

Python 2

Week 1

  • Review of Python 1

Week 2

  • Tuples

  • Dictionaries

  • Sets

  • 2D, 3D lists

  • List of dictionaries or tuples

Week 3

  • Advanced recursion

  • Asterisk Operators

  • Unpacking: *args, **kwargs

  • Concatenation of string and lists by unpacking

Week 4

  • Functional programming with Python

  • Next, iter functions

  • Functions as objects

  • Functools module 

  • Map, filter, and reduce functions

  • Yeild and generators

Week 5

  • Map and range as generators

  • Map with filter functions together

  • Immutable data types

  • Introduction to Lambda functions

Week 6

  • Date and time modules

  • Time Management with Python

  • Basic multithreding/parallelization

  • Math module

  • Fraction module

Week 7

  • Project

Week 8

  • Project

Python 3

Week 1

  • Review of Python 2

Week 2

  • Definition of class

  • Objects

  • Constructor (__init__)

  • Methods

  • __repr__, __eq__, __del__, methods

Week 3

  • Other magic methods

  • Static methods

  • Inheretence

  • Hierarchical inheritance

  • Multilevel inheritance

Week 4

  • Polymorphism

  • Overriding

  • Overloading

  • __dict__ method

Week 5

  • List comprehension

  • Lambda functions

  • Class variabes

  • Class methods

Week 6

  • Definition for errors

  • Type of errors

  • Error handling

  • Try, exept, finaly

Week 7

  • Module math

  • Module numpy

Week 8

  • Definition of files

  • Reading a txt file

  • Writing into txt file

  • Useful file types

  • Writing 1D and 2D arrays into csv files

  • Writing dictinaries into json files