Skip to content

It will contain everything related to my youtube channel for learning, you can find tutorials and assignments as well

Notifications You must be signed in to change notification settings

AhmedMenaim/MenaimAcademy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

19 Commits
Β 
Β 

Repository files navigation

Logo

It will contain everything related to my youtube channel for learning, you can find tutorials and assignments as well

You can support me by buying me a cup of coffee

Table of Contents

Programming Topics

In this playlist I'm giving you a small introduction about the meaning of programming, its tracks, how can you find the most suitable track for you and also how to start learning it and these are the videos related to this playlist:

  1. The meaning of programming and programming languages
  2. The meaning of self study and 20 minutes' rule
  3. Why shall I learn programming and what are its different tracks !?
  4. Is that mandatory to be a computer scince graduate or Engineering faculty graduate to be able to start in programming !?
  5. Will the English be an issue for me while learning programming?
  6. What is the easist track to start with and gain money from it as fast as possible?

Swift Course

In this course I will include all you need to know about Swift as a programming language or even as a beginner in the programming, so if you don't know anything about programming, Don't worry because this course is for you πŸ˜‰

As always once you enetered apple world you will be surprised with their documentation about everything and that's why welcome our main helper in this course which is Swift Documentation, and the repeated question in your head an many other people is why swift? I have post this question in Linkedin before and I was surprised by the answered but just to summarize these answers:

  1. Easy to use compared to Objective-C
  2. Open source language
  3. Memory Managment
  4. Can be used to create an API ( Backend )
  5. Strongly-Typed Language
  6. You can use it using Playgrounds
  7. Supports OOP and functional programming
  8. More productive language

Course Requirements

Don't worry no need for MacBook πŸ’» you can use any PC or Laptop you have becasue we can use these online websites to help us through our journey in this course:

  1. swiftfiddle
  2. Online Swift Playground

Also if you have a macbook Pro or Air it will be great because it will be a little bit easier to find an error or warning and if you don't know what are these warnings ⚠️ or errors ❌ , Don't worry every thing will be a piece of cake after the course. So if you have a macbook you need to download Xcode as we will use its Playground in most of our work in this course, also everything about xcode is described in this video.

Course Content

  1. Constants & Variables Code - Video
  2. Data Types -> (Float,Double,Bool & Character) Code - Video
  3. Data Types - Strings Code - Video
  4. Conversions & Comments Code - Video
  5. Optionals Code - Video
  6. Operators Part I Code - Video
  7. Conditional Statements - If else Code - Video
  8. Conditional Statements - Switch case Code - Video
  9. Operators Part II Code - Video
  10. Collection Types - Arrays Code - Video
  11. Collection Types - Set Code - Video
  12. Collection Types - Dictionaries Code - Video
  13. Control Flow - Loops Code - Video
  14. Assignment 1
  15. Assignment 2

Course Assignments

Assignment-1

Iterations all the time βŒ›οΈ

     a. iterate on numbers from 1 -> 100 and print the number at each time
  
     b. You have a list of students -> ["Ahmed", "Menna", "Mohamed", "Ehab", "Nermeen", "Menaim", "Mahmoud", "Yara"] and I need to print the names which are in odd indeces in a seperate list and the names which are in even indeces in a seperate list.

Assignment-2

Grading Student πŸ“š

Consider yourself a student and we have your grades out of 100 in a dictionary like this: 
      grades = ["Math": 85, "Arabic": 90, "Chemistery": 60, "Physics": 95, "English": 70, "Duetsch": 93]
      
     a. I need you to know the % of all the grades and print it
     
     b. If the % is greater than 90% print "Excellent", if it's less than 60% print "Failed" otherwise print "Good"
     
     c. print the best subject name with its grade

iOS Design Basics

As a start for any iOS Engineer, you need to know some design basics like how to set the design components in the screen, how to adapt the size on any iPhone size called Autolayout, you will need to know what are these components, etc...

So you can check the below topics:

  1. Introduction to iOS Design Part I
  2. Introduction to iOS Design Part II
  3. iOS AutoLayout Part I
  4. iOS AutoLayout using ScrollView

More videos in iOS design will come very soon but after finishing the Swift course.

Random iOS Topics

As any iOS engineer while developing your apps you may face a new thing and this thing may be a little bit advanced or you didn't face something like this before, that's why I have decided to create some videos for things I have faced and I've found less resources for them like:

  1. Download PDF file Using Alamofire
  2. Download PDF file without using Alamofire
  3. Images Autosizing in CollectionViews
  4. Introduction to iOS unit testing

Github App

As an iOS fresh learner, you will need to get your hand on the field more and more, that's why you need to try creating different apps all the time and these apps supposed to contain newtowrk layer, to be on advanced architectures and to be as much as you can in a clean code and the best way as you can so I've create this app which you can implement all of the previous just like I said:

  1. API Service using URLSession + Codable
  2. App initial Design and View API Data
  3. Pagination without having page parameter in API Call -> TOP IMPORTANT
  4. Download Image from URL without using Pods or Frameworks -> Required in companies tasks
  5. Using Nibs instead of Storyboards
  6. From MVC to MVP ( Architecture )

You can know more about it through its repository.

SwiftUI Course - Weather App

Some companies are requesting to have some knowledge in SwiftUI even it's a basic knowledge and as you know, always knowing some basics is better than nothing, that's why I've created this playlist to introduce you to the swiftUI world in a smooth way as usual and here you are the topics you will learn:

  1. Weather App - Project Introduction
  2. Difference between Stacks (Zstack, Vstack & Hstack)
  3. How to use SF Symbols? - Multicolor Symbols
  4. Weather Icon + Degree
  5. Create the Day Stack
  6. How to refactor SwiftUI Components + Adding Button
  7. Usage of @State & @Binding + Change to Dark Mode

You can know more about it through its repository.

How to get a job

Hmmm, I'm always searching for jobs but nothing happened, I'm applying to many jobs but no one is answering me, sometimes if you don't have a response from a company the first thing came to our mind is that the company doesn't care and of course it's a bad attitude from the company and all of us knew that but we need to give 5% of this to be on us... May be there is an issue in the CV or my Linkedin profile and that's why I have created couple of videos to show you how to enhance your Cv, LinkedIn, etc...

  1. The first thing you need to know is how you can get a job after the graduation directly and this by pushing yourself to the limits:

    1.1 Studying hard in the college

    1.2 Try to have at least 1 internship in the college period

    1.3 Creating many projects

    1.4 Enhancing Github, LinkedIn & CV for sure

  2. Of course to be able to enhance CV there are some tips you need to be able to have a great professional CV:

    2.1 The email should be professional (ahmedmenaim@gmail.com, mohamedahmed@outlook.com, mahmoudelshahawy47@gmail.com, etc...) so the email may include some numbers but always needs your name to be more professional & never do anything like: (mohameddarknight@gmail.com, karemdracula@outlook.com, etc...) so never put nicknames or fake names in the email because once you do that, you'll be REJECTED ❌❌

    2.2 Try to be short as possible, I don't need to check a CV includes 12 pages to be able to check if I will hire you or not so make it simple as much as you can ( PREFERED: 1 page CV )

    2.3 NEVER forget to set your phone number to be able to contact you

    2.4 Name your CV, Of course I won't force myself to care about file in my laptop just called CV.pdf but I'll for sure care for a file called AhmedMenaim-iOS-CV.pdf , a file name which indicates to specific name, job & file type

Sure we can face to many mistakes and obstacles especially in CV that may cause the rejection, that's why you can check this video to be able to know more

  1. Linkedin profile is a great thing for everyone searching for a job especially if you are a junior or a fresh graduate, you can trust these words from someone whose all job offers are from Linkedin πŸ˜… So if you don't know the meaning of Linkedin or how to use it or how to create an account, I think you need to check all you need to know about LinkedIn video (IN ARABIC)

  2. Everyone needs to have a remote job when you are at your home and can reduce more time to do extra things and once you have read more about Linkedin you will knew that you can find a remote job through it by doing some steps and activates some alerts so you can check this video which talks about how to find remote jobs using linkedin

  3. Have you found a remote job? Great !! but let's deep dive into the details of the contract and some issues you may face like your insurance, vaccactions, Annual balance, etc... So before signing the contract you need to know more & more about these details which you can find from here: All you need to know about applying for a remote job.

Tech Talks

Talks with egyptian professional software engineers:

  1. Eng Essam Fahmi is an iOS Engineer in CI&T, Ex Coca-Cola, Johnson & Johnson

    Click here to watch the talk

Essam image 003

  1. Eng Ayatoullah Ramzy is a Software Engineer in Micrososft.

    Click here to watch the talk

Ayatoullah Ramzy 001

  1. Eng Mohamed Sayed is a Cybersecuirty Engineer in CyShield.

    Click here to watch the talk

Flex 001

  1. Eng Mohamed Ehab is a Senior .Net Engineer in YOUXEL Technology.

    Click here to watch the talk

Ehab 001

  1. Eng Islam Mostafa is a Senior Digital Forinsec Engineer in EGCert.

    Click here to watch the talk

Islam

  1. Eng Abdelrahman Foda is an iOS Software Engineer at Zalando (Germany).

    Click here to watch the talk

Foda 001

  1. Eng Mohammed Elzanaty is a senior tech lead in _VOIS & Web Lead in Udacity.

    Click here to watch the talk

Zanaty 001

  1. Eng Muhammad Gamal is a Senior Cyber Security Consultant in Secure Networks.
  • Arab Security Conference Speaker for three years in a row 2019,2020 & 2021

  • Arab Cyber Security Social media influencer for three years in a row 2020,2021 & 2022

    Click here to watch the talk

Muhammad Gamal 001

  1. Eng Ahmed Ali is a Software Engineer in Meta, Ex-Google, Ex-Microsoft.

Ahmed Ali- jpeg 001

Find me on

Linkedin: Menaim Facebook Badge

About

It will contain everything related to my youtube channel for learning, you can find tutorials and assignments as well

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published