Umuzi Remote work
How students work remotely
Tech Product Teams
Tools for remote workshops
1.
Syllabus
Android Development With Kotlin
Coder Mock Interviews
Data Engineering
Data Engineering boot camp pre-learning
Data Science
Data Science boot camp pre-learning
Django for Web devs
Hybrid mobile dev short course
Intro to Tilde for students
Java Basics
Java Bridging Course
React Specialisation
Web Development
Web Development - No NQF
Web apps for data scientists
Web development Bridging Course
Web development boot camp pre-learning
Web frontend foundations
iOS Mobile Development
web-dev-foundations Free Trial
2.
Topics
Agile & Scrum
Agile Triage
Android-Kotlin
Annotations
Basic Control Flow
Basic Syntax & Types
Classes
Constructor Default Values
Data Binding
Data Classes
Delegated Properties
Delegation
Enum Classes
Functions
Generics
Gradle
Grid Layout
In Line Functions
Interface
Internet Data and Images
Kotlin Introduction
Nested Classes
Null Safety
Properties and Fields
Returns and Jumps
Sealed Classes
Set Up
Work Manager
Androids
Android Application Lifecycle
Android learning materials
Android user interface resources
Working with image assets
Working with sound assets
Working with video assets
Angular Elements
Angular material
Angular testing with Cucumber and Protractor
Angular unit tests
Apis
API basics
Introduction to GraphQL
Assertive programming and Pandas
Basic introduction to Redux
Bootcamps
Beginning Bash
Getting set up to write code on your device
SUPER IMPORTANT STUFF: how to not fail
Success in bootcamp
Useful Git commands
Bridging-course-hard-skills
Advanced OOP - Design Patterns in Java
Bridging-course-soft-skills
Cognitive Biases
Communication
Emotional Intelligence
Learning How To Learn
developer-habits
Clean Code
Clean Code For JavaScript
Clean Code for Data Science
Clean Code for Java
Clean Code for Kotlin
Clean Code for Python
Clean Code for XML
General Clean Code Guidelines
Code-wars
Javas
Code wars - Java Basics
Code wars - Java Beginner
Code wars - Java Training
Curious learning and research strategy
Data Ethics and Privacy
Data Validation
Data validation and quality control
Data-infrastructures
DAGs with Airflow
Database Comparison
ZeroMQ versus RabbitMQ versus Kafka
Data-science-specifics
Data Science Methodology
Data Visualisation
Datacamps
DataCamp Intro to Python
Google Colab for Data Science
Google Data Studio
K-Means Clustering
Natural Language Processing
Regression
Djangos
Django and Javascript
Official-tutorials
Django official tutorial - part 1 - Setup
Django official tutorial - part 2 - Models and the Admin panel
Django official tutorial - part 3 - Views and Templates
Django official tutorial - part 4 - Forms
Django official tutorial - part 5 - testing
Understanding Django Migrations
Understanding where the code runs and how the data flows
Why learn Django
Why should data scientiss learn Django?
ElasticSearch
Free Code Camp
Data Analysis with Python
JavaScript Algorithms and Data Structures
Basic Algorithm Scripting
Basic Data Structures
Basic Javascript
Debugging
ES6
Functional Programming
Intermediate Algorithm Scripting
Object Orientated Programming
Regular Expressions
Maths for Programmers - Sets and Logic
Responsive-web-designs
Applied Accessability
Applied Visual Design
Basic CSS
Basic HTML and HTM5
CSS Flexbox
CSS Grid
Responsive Web Design Principles
Scientific Computing with Python
Git Basics
Version Control & Scrum using Trello & Github
Git feature branching
Githubs
Basic introduction to Github
How the internet works
How to ask for help with your code
How to download youtube videos from the terminal
Intro to CSS architecture
Intro to Docker and Docker-compose
Intro to functional programming
Intro to hybrid mobile
Intro to software architecture
Introduction to Ajax
Introduction to Design Patterns
Introduction to Dotenv module
Introduction to Typescript
Introduction to assertive programming
Introduction to pair programming
Introduction to unit tests with Mocha
Ionic
Introduction to Ionic.
Ionic Tools and Patterns
Progressive Web Apps.
JS and Node
APIs and Node
DOM events with vanilla JavaScript
DOM manipulation with vanilla JavaScript
ExpressJs
JavaScript template engines
Logging in Node and JS
MongoDB and JavaScript
Node
Node setup
Super basic intro to Node
The dotenv module
Using the fetch api
Jasmine Spies
Jasmine Unit testing
Java
Environmental variables and secrets with gradle
Exception Handling
Gradle and IntelliJ project submission structure
Intro to JUnit
Introduction to Gradle
Introduction to Spring Boot
Introduction to Spring Boot - part 1
Introduction to Spring Boot - part 2
Introduction to Spring Boot - part 3
Introduction to Spring Boot - part 4
Introduction to Spring Infrastructure
Introduction to Spring Infrastructure part 1
Introduction to Spring Infrastructure part 2
Introduction to Spring Infrastructure part 3
JDBC templates
Java Dev environment setup
Java File IO
Java Generics
Java Logging with Log4j
Java OOP basics resources and readings
Java collections and data structures
Java learning materials
Java project submission requirements
Strings and numbers in Java
Javascript-specifics
JavaScript OOP Design Patterns
JavaScript OOP basics resources and readings
Jupyter notebooks best practices
Khan Academy
Khan Academy - Statistics and probability
Pre-Algebra
Seventh Grade Maths
Statistics and Probability - Quantitative data analysis
Kinds of web APIs
Logging
Messagings
Bootcamp Intro
Extra bootcamp preparation instructions for data science
Extra bootcamp preparation instructions for web devs
Honor Code
Introduction to Bootcamp Preparation phase
Our content philosophy
The journey of an Umuzi recruit
Mocking with Angular
Ncits
Agile Meetings
Agile Project Management
Analytics, Surveys, and Reports
Building an online business
Business and Technology
Conducting Research and User Interviews
Constructive Feedback
Database Development
Ethics and Professionalism in Online Gaming
Intro to Human Centered Design
Intro to NCIT Curriculum
Introduction to gnomio and NQF
Managing the Software Development Process
Object-Oriented Programming
Presenting your findings
Pseudocode and documentation
Search and Sort Techniques
Test-driven development
The Internet and World Wide Web
Thinking like a machine
Version Control
Web Design for Business
Write a report
Pull Requests
Python self-learning
Python versus JavaScript
Redux
Redux Saga
Redux Thunks
Regular Expression Resources
SQL
Solo-learns
Javas
Solo Learn - Java - Module 1 - Basic Concepts
Solo Learn - Java - Module 2 -Conditionals and Loops
Solo Learn - Java - Module 3 - Arrays
Solo Learn - Java - Module 4 - Classes and Objects
Solo Learn - Java - Module 5 - More on Classes (includes encapsulation)
Solo Learn - Java - Module 6 - Exceptions, Lists, Threads & Files
Javascripts
Solo Learn - JavaScript - Module 1 - Overview
Solo Learn - JavaScript - Module 2 - Basic Concepts
Solo Learn - JavaScript - Module 3 - Conditionals and Loops
Solo Learn - JavaScript - Module 4 - Functions
Solo Learn - JavaScript - Module 5 - Objects
Solo Learn - JavaScript - Module 6 - Core Objects
Solo Learn - JavaScript - Module 7 - DOM & Events
Solo Learn - JavaScript - Module 8 - ECMAScript 6
Pythons
Solo Learn - Python - Module 1 - Basic Concepts
Solo Learn - Python - Module 2 - Control Statements
Solo Learn - Python - Module 3 - Functions & Modules
Solo Learn - Python - Module 4 - Exceptions and Files
Solo Learn - Python - Module 5 - More Types
Test Driven Development
The Tech Landscape Terminology
Tildes
Introduction to Tilde
Tilde tutorial: How cards work
Understanding the review column
Unit testing (language agnostic concepts)
Python Unit testing with mocks and spies
TDD Horrors
Unit testing with mocks and spies
Watch This Space
Web Dev learning materials
Web Frontend
Intro to Angular
Intro to Vue
Introduction to CSS
Introduction to web design
React
Intro to React
Official React Tutorial
React + Redux architectural guidelines
React Unit testing
React: Basic basic architectural guidelines
Storage options
What to put in your CV
Works
CV Guidlines
Creating A Memorable Statement
Mock Interviews
Mock Interviews Survey
Recruit Career Questionnaire
iOS Mobile
Alerts Notifications and Application Life Cycle
Core Motion and Camera
More Segues
More Swift, Gestures and Animations
Multithreading, Auto-Layout and Other Functionality
Swift and More
linux
Environmental Variables
Introduction to Bash and the terminal
Introduction to Linux
optimizations and big-O
python specific resources
Automate-the-boring-stuff-books
Automate the boring stuff: Chapter 0 – Introduction
Automate the boring stuff: Chapter 1 – Python Basics
Automate the boring stuff: Chapter 10 – Organizing Files
Automate the boring stuff: Chapter 11 – Debugging
Automate the boring stuff: Chapter 12 – Web Scraping
Automate the boring stuff: Chapter 13 – Working with Excel Spreadsheets
Automate the boring stuff: Chapter 14 – Working with Google Spreadsheets
Automate the boring stuff: Chapter 15 – Working with PDF and Word docs
Automate the boring stuff: Chapter 16 – Working with CSV Files and JSON Data
Automate the boring stuff: Chapter 17 – Keeping Time, Scheduling Tasks, and Launching Programs
Automate the boring stuff: Chapter 18 – Controlling the Keyboard and Mouse with GUI Automation
Automate the boring stuff: Chapter 18 – Manipulating Images
Automate the boring stuff: Chapter 18 – Sending Email and Text Messages
Automate the boring stuff: Chapter 2 – Flow Control
Automate the boring stuff: Chapter 3 – Functions
Automate the boring stuff: Chapter 4 – Lists
Automate the boring stuff: Chapter 5 – Dictionaries and Structuring Data
Automate the boring stuff: Chapter 6 – Manipulating Strings
Automate the boring stuff: Chapter 7 – Pattern Matching with Regular Expressions
Automate the boring stuff: Chapter 8 – Input Validation
Automate the boring stuff: Chapter 9 – Reading and Writing Files
Automated Testing in Python
Intro OOP(Object-oriented Programming) for Python
Introduction to APIs
Logging in Python
MongoDB and Python
Python Decorators
Python Decorators - Intro
Python Exception handling
Python Iterators and Generators
Python Lists in depth
Python Recursion by example
Python and Kafka
Python and Spark
Python backend dev environment setup
Python writing custom exceptions
SQL and Python
Sqlalchemy ORM
Sqlalchemy Basics
Sqlalchemy migrations with Alembic
Unit-testings
Automated Testing pandas and numpy
Virtual Environments
Web scraping with Python
3.
Workshops
Interviewing sucessfully
Intro to Agile
Introduction to development environment for web
Node Sync/Async
Introduction to Node and Friends
Survey design
Agile Recap
Agile and Scrum
Big Picture of Web Dev
Business intelligence tools
Clean Code
Clean Code (language agnostic)
Clean Code for web
MEDIUM:
Data Ethics
Effective Communication
Express JS
Git Basics
Git for Teamwork
Google forms like a boss
How To Be A Great Mentor
How to be a professional
Intro to CSS architecture
Intro to Presentation
Introdction to NCIT curriculum
Introduction to CSS
Introduction to Express js
Introduction to Linux: Live demo
Introduction to Node and SQL
Java Specific Workshops
Basic intro to oop with IntelliJ
Introduction to Spring Infrastructure
Introduction to Spring Infrastructure part 1
Introduction to Spring Infrastructure part 2
Introduction to Spring Infrastructure part 3
Live coding: Introduction to Java
Javascript-specifics
Live code: introduction to JS
Js-and-node-specifics
OOP in JS
Model Evaluation
Nodejs intro to socketIO
Python-specifics
Basic Intro to OOP
Live code python intro
Time Management
Unit testing Introduction
Unit testing with Jasmine Introduction
4.
Projects
Android with Kotlin Projects
Project 1
Linear layout using the Layout Editor
User Activity
Project 10
Project 2
Constraint Layout Using Layout Editor
Data Binding Basics
Project 3
Create a fragment.
Define navigation paths.
Start an external activity.
Project 4
Lifecycles and logging.
Project 5
Data binding with ViewModel and LiveData.
LiveData and LiveData observers.
LiveData transformations.
Project 6
Create a Room Database.
Project 7
Diffutil Data Binding with Recycler-View
GridLayout with RecyclerView.
Headers in Recycler-View.
Interacting with RecyclerView items.
RecyclerView Fundamentals.
Project 8
Filtering Details With Internet Data.
Getting Data From The Internet.
Loading and Displaying Images.
Repository.
WorkManager.
Project 9
Design For Everyone.
Material Designs and Dimensions and Colours.
Styles and Themes
Androids
Incremental Counter
Information Page
Angular Testing with Cucumber
Angular Tutorial
Assertive programming kata
Bootcamp Writing Assignment
Build your first personal website
Capstone project
Gmail Text Scraper
Pair Stairs
Spaced Repitition machine to help you remember what you read
The Quizmaster
build a Chrome Extension that measures time spent in meetings
Consume Github API
DAGs with Airflow
Data-science-specifics
A Visual History of Nobel Prize Winners
MEDIUM:
Cross-validation & Simple Linear Regression
Dashboard Assignment
EASY:
Google Data Studio Assignment
HARD:
Live Dashboard Assignment
EASY:
Plotly Dashboard Assignment
HARD:
Webscraping and Live Dashboard Assignment
Data Modelling Challenges
HARD:
Network Intrusion
Data Visualisation Projects
MEDIUM:
Evolution of Linux Visualisation
MEDIUM:
Financial Services Use in Tanzania
MEDIUM:
Data Wrangling
MEDIUM:
Decision Trees
Introduction to Jupyter Notebooks
MEDIUM:
K-Means Clustering Assignment
Logistic regression
MEDIUM:
Predict breast cancer
MEDIUM:
Predict credit card approvals
MEDIUM:
Multivariate Linear Regression
MEDIUM:
Natural language processing
MEDIUM:
OOP for data science
MEDIUM:
Statistical Thinking
Webscraping Assignment
Distributed workloads with ZeroMQ
Django-airbnb-clones
CloudBnb - Basic Property model and admin panel
CloudBnb - Calandar widget
CloudBnb - Data export script
CloudBnb - Expose apis to be consumed by modern mobile app
CloudBnb - Property Search
CloudBnb - Property owner dashboard APIs
CloudBnb - Property owner dashboard user interface
CloudBnb - User registration
CloudBnb - Users can make bookings
CloudBnb - intro
CloudBnb - users can CRUD properties that they own
Visualise your data with plotly.js
Visualise your data with plotly.py
Write an ETL script to populate the database
Email random inspirational quote
ExpressJS
Game of life: Angular elements
Git Basic Exercises
Ionic Projects
Build a news app with Ionic
Building Mobile Apps with Ionic, Angular, and TypeScript
Java Projects
File IO + Logging + Errors
Introduction to Spring Boot
Introduction to Spring Boot - part 1
Introduction to Spring Boot - part 2
Introduction to Spring Boot - part 3
Introduction to Spring Boot - part 4
Java Generics
Java collections
Java data structures
SQL Extended
Level 1 programming katas
Linux challenges
Advanced Linux challenges
Beginner Linux challenges
Memory Game: rebuild using a modern web frontend framework
Memory game using Angular Material
Memory-games
extra features for your memory game
Memory game web app
Mocking with Angular
Nodejs Challenges
1:
Node & File IO
2 (alt):
Node & mongoDB assignment
3:
Express, forms and templates
4:
Expose a JSON API
Add a little Ajax
Node & SQL assignment
OOP Excercises
Animals
Animals Part 1. OOP basics
Animals Part 2. Adding Tests
Bank Accounts
Dice
Person
Pre bootcamp coding challenges
Python projects
Database migrations with SQLAlchemy
Django - exposing a REST api with a real database
Getting to know Python
Python and Kafka
Python and MongoDB
Python and Spark
create a REST api to interact with actual database
expose a simple JSON rest api
RabbitMQ
Recipe-searches
React and Redux recipe search: Part 1. Presenting the form
React and Redux recipe search: Part 2. API Access with thunks
Redux Saga Intro
Redux with Angular
Redux-intros
Intro to Redux for home automation: Party mode with thunks
Intro to Redux for home automation: combine reducers
Intro to Redux for home automation: the basics
SQL
Semitone Challenge
1.
semitone difference - basic algorithm
1.
semitone difference - Make a simple GUI
3.
semitone difference - Advanced algorithm
4.
semitone difference - A gui that is more...awesome
semitone difference - Add Redux
Test Driven Development
Password Checker
Add logging to password checker
password-checker
MEDIUM:
Resturaunt menu system
EASY:
factorials
MEDIUM:
lots and lots of tdd katas
MEDIUM:
recursive search
EASY:
simple-calculator part 1
MEDIUM:
simple-calculator part 2
string-calculator
HARD:
ten-pin bowling scoring system
Tilde Mockups
Code Review Performance Dashboard mockup
Public Profile
Volunteer Pair-programming Dashboard
Tildes
Repo-card-tutorials
Tilde project tutorial: How Continue Repo projects work
Tilde project tutorial: How Repo projects work
Tilde project tutorial: How to submit a link
Validating user input for web
consuming APIs with the requests module
iOS Mobile
Codable, File Manager, URL
Drag and Drop, Multithreading and Delegation
More Swift, Gestures and Animations
Multithreading Layout and Other Functionality - Animated Set
Multithreading Layout and Other Functionality - Graphical Set
Swift and More
5.
Katas
Ceasar cipher
1.
Compound interest
Fibonacci sequence
2.
Palindrome
3.
String reverse
4.
String rotate
5.
use loops to print-patterns
1.
C shape
2.
Pyramids
3.
Squares
4.
Triangles
6.
Department Processes
Cohort morning standups
Deadlines
Linkz
Mock Interviews
Onboarding - What the team needs to know and access
Scheduling workshops and events
What You Need To Know (as a tech recruit)
code review process
Code Review Feedback Notes
JS code review May 2019
Contact
Credits
How to Contribute
Online Learning and bootcamp
More
Github repo
Credits
Download
Star
Fork
Edit this page
Umuzi Tech Department
>
Workshops
> Introdction to NCIT curriculum
Introdction to NCIT curriculum
TODO
RAW CONTENT URL