This is a 12 week timeline that is designed to take an indvidual from 0 to a place where they be productive and explore of there own accord. This being an avenue to employment aims to arm you with the neccessary tools to enable one garner enough experience to accomplish tasks assigned to them
The whole point of this program isn't to teach any one programming language or stack
rather to get participants to a point where they can choose what and how to learn it.
Consider this some sort of Choose your own adventure
experience
This is a living document with the proposed items to be covered in the 12 weeks
- Functional Programming
- Functional Programming vs Other paradigms
- What is Elixir
- What is OTP
- What is Version Control? Why do we need it?
- https://www.tutorialspoint.com/functional_programming/functional_programming_introduction.htm
- https://elixir-lang.org/getting-started/introduction.html#installation
- http://erlang.org/doc/getting_started/users_guide.html ( the chapter are on the left of the page)
- https://git-scm.com/book/en/v2/Getting-Started-About-Version-Control
- Find attached an introductory book on Elixir
- Write a small narrative of how and when you would use a object oriented language
- Write a small narrative of how and when you would use a functional language
- Install Elixir on your machine and get it work
- Read the foreword in the attached elixir book (only till the start of Conventional Programming
- Create a GitHub Account and join the Little Kidogo organization on GitHub
- What are software projects and how to work on them?
- Introduction to Elixir syntax and operators
- Processing ideas into software products
- http://www.informit.com/articles/article.aspx?p=25074&seqNum=4
- https://elixir-lang.org/getting-started/basic-operators.html
- https://elixir-lang.org/crash-course.html
- Complete all the exercises in chapter two of [Programming Elixir]
- Exercises should be completed and uploaded to a GitHub repo work in small commits, try to use issues and pull requests.
- Using the learnings from the 1st link please develop a design and roadmap for an application that allows users to save Diary entries( users should be able to enter new events and maybe even edit existing ones). You are expected to come up with a plan that takes this idea from development all the way to something people can use
- Introduction to projects, linking this up to version control i.e issues, branches, pull requests, reviewing, merging, rebasing
- Putting Version Control to use
- Introduction to peer work and review
- Introduction to paragraphs an pages of code
- Chapters 3 - 6 of the Elixir programming book
- https://git-scm.com/book/en/v2/Git-Basics-Getting-a-Git-Repository
- https://elixir-lang.org/getting-started/modules-and-functions.html
- Complete the code examples in the programming book
- Work in branches and in a git repository
- Use issues to document and plan your work
- Use pull requests to introduce Changes
- Assesment on readiness to work on projects, evaluations and remedies recommended
- Research and Choosing of production projects
- Production work backend and introduction to the frontend
- Production work front end