Skip to content

Tunisian-GitHub-Community/BeginnersGuide

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 

Repository files navigation

Alt text

Guide Overview :

This guide is proposed for students in software engineering-related fields who just started their journey. If you are lost and don't even know where to begin, what infromatics field you'd like to specialize in, this guide is for you ! It aims to make you a better problem solver and gives you an inside-out look of our vast field.

Get to know us better Our Website .

Contributions :

Contributions are more than welcome, if you have additional information that might help our community feel free to add them.

Table of Contents

Apply for Github Student Pack

Github student pack is a must have to all students, we put it at the top of the list because it may take few days or weeks to have access. So just apply for it, move on to the next step and it'll be ready when you're in need for it!

Useful Links description
Github Student Pack Free Access to developer Tools
How to get it Step-by-step guide to get the student pack

Watch CS50 Course

CS50 is an on-campus and online introductory course on computer science taught at Harvard University and Yale University.
You can skip the first part about scratch and dive into C language. It is one of the best courses to teach you about data structures and how our machines think.
which is a must-know in order to better manipulate data structures. Make sure to study data structures, python, JS and HTML through it because we'll need them later.
The course also provide a free online compiler to train on while going through the course!

Useful Links description
CS50 Course Harvard online Free course on YouTube
CS50 IDE an online IDE to practice while watching the course

Learn Object Oriented Programming

Learn the difference between Functional programms and Object Oriented Programs. Functional programming is the programming technique that accentuates the functional factors required for creating and implementing the programs. OOP or the Object-Oriented Programs are the conceptual programming techniques that uses objects as the key. I'd recommend to study OOP with Java. OOPs is considered to be the basic for almost every OP language. When you're familiar with it, you'll be able to understand most of the major concepts that any language incorporate ( like abstraction, multi-threading,..etc)

Learn The Art Of Googling

Google Search is a powerful tool, yet you're not using its full potential. Know where to search for information, and how to search for it. understand the notion of forums,discussions and subreddits.
Searching the web is an art, I hope this article helps you to discover some of the tips and tricks that might make your life much easier.
Get familiar with StackOverflow, Medium, framework forums, github forums, documentation..etc Also Master the indian accent.

Useful Links description
11 tricks to master the Art of Googling Medium article on how to Google

Pro tips:

-In order to view medium articles for free, just delete the website's cookies. You're welcome.
-You can get most of the Coursera paid courses by applying for financial aid. Also look for free access programs online (usually universities provide one).
-You can get most of the udemy courses for free by searching for 100% discount coupons:" {Name Of The Course} Udemy 100"
-Enter Discord groups where people Share Drives Full of Free courses.
-You could download most of the paid courses from FreeTutorials.us

Start Competitive Programming

Competitive programming teaches you how to be a better problem solver, you'll learn about complexity, data structures and algorithms. It'll teach you to write better code, and become better at debugging. There's a Tunisian Youtube Channel called Coding BeTounsi by Raouf. He'll take you through your CP journey. Big Thanks for his Great work !!

Useful Links description
Coding BeTounsi Educative Tunisian Youtube Channel for Competitive Programming
Junior Training Sheet V7.0 Training Sheet to track your progress
Starting Competitive Programming - Steps and Mistakes - YouTube Starting Competitive Programming - Steps and Mistakes - YouTube

Learn How to Type Fast

Typing fast on your keyboard is not a myth or something you only see in movies. Actually you can learn how to do that in 30 days or less (1 hour practice every day). Trust me your neck pain will be gone and you will use your computer for longer period of time. Here's some useful links that will help you achieve that goal:

Useful Links description
Keybr This web application will help you to learn touch typing, which means typing through muscle memory without using your eyesight to find the keys on the keyboard. It can improve your typing speed and accuracy dramatically.
10 Fast Fingers Typing Test, Competitions, Practice & Typing Games. Typing Competition Who can type faster? Top 1000 Challenge yourself!

Learn HTML/CSS

This will come in handy in future projects. you'll have to learn HTML sooner or later. You don't need to memorize the commands by heart, just understand the basics and put in mind the keywords to google when you need a specific command. Also I'd advise you to learn by testing. Platforms such as GeeksforGeeks and W3Schools offer this feature using their online compilers for free.

Useful Links description
GeeksforGeeks HTML Course free HTML Course with online compiler to test.
W3Schools HTML Course free HTML Course with online compiler to test.

After learning HTML and CSS and before jumping into JavaScript try to use Bootstrap, it's a free and open-source CSS framework that will help you style your project in no time.

Create your first website from scratch

It's time to create projects! Try to put your knowledge into practise through coding a simple website ( blog page, protfolio website ..Etc)

Learn How to Automate Tasks with Python and/or javascript

There's a great book called Automate The Boring Stuff with Python That I'd really recommend. You could create a web scraper and scrape data. May I recommend Scrapy, or BeatifulSoup & Selenium.

Useful Links description
Automate The Boring Stuff With Python Free PDF book with Python Code blocks to test

pro tip:

You could get any book & research article, pdf version using: -Sci-Hub
-pdfDrive

Linux

Learn the notion of packages and open source. Also installing programming softwares on linux is much easier than windows, and no matter how shitty your hardware is, Linux will run smoothly.

Useful Links description
Top 10 Reasons Why You Should Use Linux make your life easier with linux

Learn How to Use Git/Github

Learn the concept of version control. Create Repositories, put your simple website and scraping tool that you created.

Useful Links description
git - the simple guide just a simple guide for getting started with git. no deep shit ;)
GitHub Learning Lab

Next Step

You simply need to start. instead of watching courses in order to get the certifications, Learn by actually doing. Project based Learning is the best way to get the hold of a concept. when you start a project you'll find out that you didn't get the hang of a concept that you thought you have. so test yourself practice more !

You can stay up to date by joining our facebook group. Happy Coding.
Sabkhi Out 🎤