Skip to content

sabdullahi18/PT23-24

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PT23-24

Materials used for the Programming Tutor sessions (2023-2024)

C

Git Version Control

Discrete Mathematics

Haskell

Curriculum

C

  • For loop
  • Nested for loop
  • Half nested for loop
  • While loop
  • Do while loop
  • Recursion
  • Structs
  • String manipulation
  • Arrays
  • Pointers
  • Memory allocation
  • Datatypes

Git Version Control

  • Checking Git Version
  • Configuring User Information
  • Creating a New Git Repository
  • Checking the Repository Status
  • Staging and Committing Changes
  • Viewing Commit History
  • Getting Help
  • Branching and Merging
  • Remote Repositories
  • GitHub Flow
  • GitHub-Specific Features and Commands
  • .gitignore
  • Git Security SSH
  • GitHub Add SSH

Discrete Mathematics

Set Theory

  • Set Notations
  • Properties
  • Set Equality
  • Set Operations
  • Boolean Algebra
  • Set Algebra

Functions

  • Function Basics
  • Composition of Injections
  • Composition of Surjection
  • Composition of Bijection
  • Cardinality of Sets

Permutations

  • Permutation Basics
  • Binary Relations
  • Equivalence Relations
  • Equivalence Classes
  • Quotient Groups

Groups

  • Group Basics
  • Multiplicative Group
  • Additive Group
  • Associativity of Sequential Composition of Functions
  • Subgroups
  • Lagrange’s Theorem
  • Equivalence Classes
  • Order of an Element in Lagrange’s Theorem
  • Euclidean Algorithm
  • Euclidean Algorithm Basics
  • gcd(a,b)as a Linear Combination of a and b
  • Problems for Integers Modulom
  • Multiplicative Group of Integers Modulo m
  • Rivest–Shamir–Adleman (RSA) Cryptography

Linear Algebra

  • Matrix Basics
  • Matrix Addition and Multiplication Properties
  • Determinant of a Square Matrix
  • Solving Linear System of Equations
  • Gaussian Elimination
  • Linear Maps
  • Eigenvalues and Eigenvectors

Counting

  • Counting Basics
  • Multiplication Principle
  • Addition Principle

Haskell

Lists and Tuples

  • Lists
    • Concatenation
    • Cons
  • Accessing List Elements
  • List Comparison
  • Using Ranges with Lists
  • Steps and Ranges
  • Laziness and infinite lists
    • cycle
    • repeat
    • replicate
  • List Comprehension
    • sum
    • elem
  • Nested List Comprehension
  • Tuples
    • zip

Types and Classes

  • Types
  • List Types
  • Tuple Types
  • Function Types
  • Curried Functions
  • Polymorphic Types
  • Overloaded Types
  • Classes

Defining Functions

  • Conditional Expressions
  • Pattern Matching
  • head and tail
  • Lambda Expressions

Recursive Functions

  • Factorial
  • Product
  • Quicksort
  • General Pattern for Recursion

Higher-order Functions

  • map
  • filter
  • foldr
  • Sum of Squares of Positive Integers in a List
  • The Largest Number Under 100,000 Divisible by 3829

User Defined Types

  • Type Declaration
  • Data Declarations
  • Recursive Types
  • Binary Tree

Efficiency

  • Queue
  • Smart Queue
    • Flipping

Problem Solving

  • foldl
  • Reverse Polish Notation
  • Matrices
    • all
    • uniform
  • Adding Matrices

Interactive Programs

  • getChar
  • putChar
  • return
  • Sequencing Actions
  • getLine
  • putStr
  • putStrLine
  • strlen

About

Materials used for the Programming Tutor sessions (2023-2024)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors