umuzi-org / acn-syllabus Goto Github PK
View Code? Open in Web Editor NEWThis is the syllabus that we load into our main instance of Tilde.
This is the syllabus that we load into our main instance of Tilde.
Add a little bit of spec here. What might a property owner want to see?
Dont be too fancy, but take the content prerequisites into account. Note that this needs to be developed by junior devs in order to upskill so seriously dont go overboard. Focus on demonstrating foundational skills.
Just a little bit of text so that people are curious to follow the links.
Then add ready: True
to the frontmatter
Once a student knows how to create a table with the CREATE TABLE statement, they should be able to move onto this.
We need to make sure our bases are covered. We dont need to get people to know about the normal forms or star schemas or anything like that., Rather focus on foundational concepts.
In this topic cover:
eg:
table name = users (plural)
primary key = id
table name = tickets (plural)
primary key = id (consistent)
foreign key to user table = user_id (dead obvious what we are referring to. We are referring to a single user therefore singular)
We need a way for a student to demonstrate understanding of spark foundational projects
replace this with a topic that describes socketio. Link to useful external resources as much as possible.
Take a look at all the contentlinks here: https://github.com/Umuzi-org/ACN-syllabus/blob/develop/content/syllabuses/data-sci.md
Each of the pages this links to can have "tags" associated with it in the frontmatter. Go to each age and add the necessary tags.
The Password checker project is a little bit annoying and arbitrary
https://github.com/Umuzi-org/ACN-syllabus/tree/develop/content/projects/tdd/password-checker
Create a new project that covers the following basic stuff:
Students should be curious about clicking the link. Add some text
Are there any other tutorials or resources that would make this topic better?
Compare and contrast ZeroMQ versus RabbitMQ versus Kafka
ZeroMQ actually doesnt store anything
RabbitMQ stores stuff for a while
Kafka stores stuff forever
Mention some use cases for each
Please add a section to the bottom of this project's _index.md file.
The section heading should be EXACTLY "## Instructions for reviewer"
Basically we have to set reviewers up for success by telling them what success looks like and what to pay attention to when reviewing this project submission.
Description:
Look at a bunch of old reviews for this project for each cohort
Find the common feedback [This should help you get an idea of what instructions to create]
Write them out clearly
The section heading should be EXACTLY "## Instructions for reviewer"
Please add a section to the bottom of this project's _index.md file.
The section heading should be EXACTLY "## Instructions for reviewer"
Basically we have to set reviewers up for success by telling them what success looks like and what to pay attention to when reviewing this project submission.
Description:
Look at a bunch of old reviews for this project for each cohort
Find the common feedback [This should help you get an idea of what instructions to create]
Write them out clearly
The section heading should be EXACTLY "## Instructions for reviewer"
Please add a section to the bottom of this project's _index.md file.
The section heading should be EXACTLY "## Instructions for reviewer"
Basically we have to set reviewers up for success by telling them what success looks like and what to pay attention to when reviewing this project submission.
Description:
Look at a bunch of old reviews for this project for each cohort
Find the common feedback [This should help you get an idea of what instructions to create]
Write them out clearly
The section heading should be EXACTLY "## Instructions for reviewer"
Convert this to a topic. Add some introductory materials.
Add ready: True
to the frontmatter
Take a look at all the contentlinks here: https://github.com/Umuzi-org/ACN-syllabus/blob/develop/content/syllabuses/data-eng.md
Each of the pages this links to can have "tags" associated with it in the frontmatter. Go to each age and add the necessary tags.
Take a look at the rest of this multipart project.
What apis would be useful in creating a dashboard for a property owner?
Specify those apis
update projects/basic-flow-control-katas/
with the changes below
Github recently changed some of their language so we need to update the exercises to match. Change all refrences to master
to main
Delete this file and remove all references to it.
Make sure you run the linter
Think of an interesting schema design project that covers the concepts from #49
Things to note:
There is a chortcode that we use for internal linking
The problem is that this shortcode expects all projects to be nested under 'content/projects' and all topics to be nested under content/topics
etc.
We've upgraded our frontmatter so that this is no longer the case.
Pease make sure that the content type gets printed out correctly even if the directory hierarchy is arbitrary.
See #47 to see a demonstration of why this is needed
Delete this and make sure the linter passes
Make a new topic about environmental variables and node.
The students should know about how to make use of environmental variables. And why that is important for deployment stuff. You can refer to 12factor apps.
Talk about developing with node and some tricks to set up your dev environment variabes.
source/path/to/dev/config.sh
Take a look at all the contentlinks here: https://github.com/Umuzi-org/ACN-syllabus/blob/develop/content/syllabuses/web-dev.md
Each of the pages this links to can have "tags" associated with it in the frontmatter. Go to each age and add the necessary tags.
Please add a section to the bottom of this project's _index.md file.
The section heading should be EXACTLY "## Instructions for reviewer"
Basically we have to set reviewers up for success by telling them what success looks like and what to pay attention to when reviewing this project submission.
Description:
Look at a bunch of old reviews for this project for each cohort
Find the common feedback [This should help you get an idea of what instructions to create]
Write them out clearly
The section heading should be EXACTLY "## Instructions for reviewer"
Back in the day, the way to categorise different pieces of content as different things was to put them into differet folders. You'll see that there are folders for "topics", "projects" and "workshops". Ths worked fine fora long time, but our syllabus offerings became way more complex, and frontmatter is awesome and versatile.
In an effort to make our syllabus easier to navigate, we'd like to have the content directory hierarchy less about the content type and more about what the content is about.
Please do the followin:
content/sql
_index.md
. For now that can just contain:---
title: SQL
---
This will then show up in the navigation side bar.
Find all the things that are specific to pure sql and arrange them sensibly in this folder. There is a whole bunch of cnotent about Python+sql, node+sql, kotlin+sql etc. For now please leave those things as they are. This is about plain simple sql only.
Run the linter. It's explained in the README. There are likely a bunch of links that need to be updated
Give yourself a pat on the back
This is very similar to issue #54
Basically, find all the content that has anything to do with Agile and move it into a folder called /content/agile
Once that is done run the linter. Movint things probably would have broken a few links.
Once all the links and things are fixed, you're done :)
Add some instructions.
Get data fron the backend and then draw it with plotly
Fill in the details. What should be displayed at the different urls? What buttons should be present that allow a user to navigate around?
Currently we get people to a point where they can basically connect to psql, create tables, and do some queries with joins but there is a lot more worth knowing as a junior developer.
Note:
The Internet is a wonderful place. It is full of really amazing learning resources that are created and maintained by passionate and knowledgeable people. It’s a hell of a job, and we are grateful that someone is doing it.
We try to leverage other people’s good work as much as possible. We provide you with the best resources we can find and we supplement those resources with our own projects and explanations where needed.
Please add a section to the bottom of this project's _index.md file.
The section heading should be EXACTLY "## Instructions for reviewer"
Basically we have to set reviewers up for success by telling them what success looks like and what to pay attention to when reviewing this project submission.
Description:
Look at a bunch of old reviews for this project for each cohort
Find the common feedback [This should help you get an idea of what instructions to create]
Write them out clearly
The section heading should be EXACTLY "## Instructions for reviewer"
update projects/git-exercises/
with the changes below
master
to main
https://github.com/Umuzi-org/tech-department
to https://github.com/Umuzi-org/a-repo-to-clone
Add the necessary content
Make sure you cover some of the dangers of migrations and git. People like to add migrations to their PRs. Those migrations were made against their dev db, and are often in contradiction to those on the prod db
We use postgres.
At this point the learners hould know about joins.
What follows below are a few concepts that are important, but that a lot of people wouldn't find intuitive.
select CustomerName from (SELECT CustomerName,City FROM Customers);
This example is silly ☝️ but this technique can be hella useful
Links to wonderful resopurces that cover other topics in case they need to go deeper.
We do want to teach people how to find their own resources instead of spelling everything out.
These should go in the folder topics/strategy/name-of-the-topic
Add the two items here: https://docs.google.com/document/d/1nsZzDlzCX6G_QmCzYMu65lBaQJLPZ0BB1Kk73Bh-yr0/edit as individual topics.
NB: ensure you follow file naming conventions and that you format your pages correctly.
Also remember to add the front matter:
---
content_type: topic
ready: true
title: *your-page-title*
---
You do not need to add _db_id:
as this is generated automatically
Add project instructions
Take a look at all the contentlinks here: https://github.com/Umuzi-org/ACN-syllabus/blob/develop/content/syllabuses/java.md
Each of the pages this links to can have "tags" associated with it in the frontmatter. Go to each age and add the necessary tags.
Think of an interesting schema design project that covers the concepts from #49
Things to note:
Turn this into a self-study topic
Add some text and useful links.
Note that this course uses postgres
We use and recommend linux Ubuntu or mint. Many students have no idea how either of these work and wont know about terminology or anything.
I'd suggest making a video and linking to it.
There are a few things that tend to make the lives of students quite anoying and looooow
Try to inspire them to actually practice using the tools at their disposal so that they dont waste 30% of their time arguing with the mouse.
There is already a file for this.
Fill it in with a nice project that students can to get their heads around the basic concepts. Please try to focus on redux saga by itself, dont rely on react or anything else
Pipenv is just great.
Right now our linter requires the user to get a python venv up and running.
Use pipenv and the latest python instead
add some more descriptive text about how the calendar widget should behave and when and where it can get data.
Recommend a calander package that will do the trick
The presentation attached is not super useful without a human speaking through it.
Turn this into a self-study topic by adding some text and some useful links
Add the two items here: https://docs.google.com/document/d/168taBbNFo0mJmP7p0HnTg4HsYVuvCyKw8cTvXRml1DI/edit# as individual topics.
NB: ensure you follow file naming conventions and that you format your pages correctly.
Also remember to add the front matter:
---
content_type: topic
ready: true
title: *your-page-title*
---
You do not need to add _db_id:
as this is generated automatically
Add the two items here: https://docs.google.com/document/d/1vj9hlJIcTHiMucEtQ1yvNxKaszL_4AsadwuB3Y1g47g/edit# as individual topics.
NB: ensure you follow file naming conventions and that you format your pages correctly.
Also remember to add the front matter:
---
content_type: topic
ready: true
title: *your-page-title*
---
You do not need to add _db_id:
as this is generated automatically
Be careful to include the gfollowing concepts:
Rather link to the actual projects.
If the student needs to do te 2 assignments then each of those assignments should be linked to individually. That way Tilde will generate seperate repos for the seperate assignments
These should go in the folder topics/strategy/*name-of-the-topic*
Add the two items here: https://docs.google.com/document/d/1N7uM-yVJr61IXV_TWmo_pxpMqZDTe3OeOyF1TqaB7xI/edit as individual topics.
NB: ensure you follow file naming conventions and that you format your pages correctly.
Also remember to add the front matter:
---
content_type: topic
ready: true
title: *your-page-title*
---
You do not need to add _db_id:
as this is generated automatically
Delete it and make sure the linter still passes
Check out the resources in this presentation https://docs.google.com/presentation/d/1gRAGqSma21RkbnfoCO2KM565EfGCf9m4ZuJ9S7mcyFc and create a topic that covers that info and anything additional you think should be covered. Feel free to link additional Resources
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.