Code Monkey home page Code Monkey logo

acu's Introduction

Welcome to Active Courses University

ACU is an Open University primarily dedicated to preparing & working for Big Tech companies (FAANG, FAANG+, Fortune 500, enterprises, and startups) by providing Career Services, Resources (Roadmaps & MOOCs), Networking, and Academic Advisory for CS/CSE only.

Note: If you find current onboarding hard, please issue a ticket and explain.

MindMap

The Mind Map is divided into right (for the resources) and left (for the services). Topics advance as you go from the top to the bottom. For a full explanation, check ACU Mind Map Explanation.

Contents

  1. Summary
  2. Resources
    1. Courses
      1. CS-Fundamentals
      2. Sub-Fields
    2. Essential
    3. Career Resources
  3. Community
    1. General
      1. Rules
      2. Conversation Etiquette
      3. FAQ
    2. Roles Onboarding
    3. Services Onboarding
      1. Academia
      2. Career
      3. Sub-Communities
      4. Networking
      5. Mutual Mentorship, Coaching and Tutoring
      6. Mentorship
      7. Events
    4. Channels & Categories Onboarding
  4. About us
    1. Board Of Leaders
    2. Mentors
    3. Curriculum Maintainers
    4. Contributors

Summary

Active Courses University is a community targeting to work in Big N. Similar to OSSU, it provides educational resources & help. Additionally, ACU provides professional Career, Networking, and Academic Advisory services.

ACU community is not "yet another Stackoverflow-like" community; The real benefit you will gain is not an answer to your question, but connection with everyone who answered.

Similar to universities, services are provided mostly by peers/students, and some by professionals (> 3 YoE). ACU members are all authentic members providing Services (Tutoring, Course curation (via feedback & comparison), Career Services, Academic Advisory, and much more in Services Onboarding).

For a full comparison between ACU and other servers, online communities, paid boot camps and real universities, Check ACU Comparison.

ACU Resources consist of three primary resources (OSSU, CS Fundamentals, and Big N SE Roadmaps) utilizing suggestions from Pioneer Software Engineers and other reliable sources. Unlike OSSU, ACU provides multiple options per subject tailored to each student's needs. Further information is in Resources.

If you like the idea, share it. You will benefit directly & indirectly. Your tutor, coach, mentor, or study buddy might be the colleague you invited or invited by him. Try to share it on your Twitter, Facebook, or class group, or ask someone famous to share it.

Check Community to join us.

Resources

Courses

  • To pick courses, check Resources Explanation before you dive into any course.
  • Temporary course maintenance Notes:
    • Courses are still not peer reviewed; it is another student's suggestion but has not been reviewed by a college professor or senior SWE despite being the best courses in the field.
      • This means one might overstudy or understudy a subject (e.g., study too many algorithms).
      • Currently, the only solution is to ask a mentor or students about your specific case (where you want to work? Which minor?...).
      • This problem is not limited to ACU; unless the community has a peer curriculum maintainer, it is guaranteed that it will have the same problem, and they did not mention it as they were unaware.
    • Course reviews will be provided in the GitHub Issues soon. Please take the initiative and provide your course opinion if you have taken the class.
    • A lot of courses are still not added here but are mentioned (Pinned in each channel, written in OSSU or Omar Shawky's CS-Roadmap) and will soon be merged.
    • Resources are better represented on the Website.

CS-Fundamentals

Topic Course Name Topics Covered Course Prerequisites Course Reviews
Introduction to Programming (Pick this or Dr. Mostafa below) How to Code - Simple Data & How to Code - Complex Data
programming concepts, basic function structure, functional programming, dynamic typing
programming concepts: (lexical scoping),
basic function structure: (Function signature, First Order Function)
functional programming: (Recursion, Mutual Recursion, Tail Recursion, High Order Function: {Function Consumer or passing function as argument}, map, filter, fold, Backtracking Search, Generative Recursion),
dynamic typing
N/A #TODO
$\uparrow$ Computer Science: Programming with a Purpose
programming concepts, basic syntax, basic data structures, Functional Programming, OOP
programming concepts: (Abstraction, Decomposition, Standard Input & Output, Type Conversion, Type Checking, Functions, API, Modular Programming, Recursion, dynamic programming, divide and conquer, Memoization, Algorithmic Complexity, Abstract Datatypes, Compiler, Interpreter, Procedural Paradigm, Scripting Language, Special-Purpose Language),
basic syntax: (Variables, Variables Types, Arithmetic Operations, if, loops {while, for}, Nesting, Access Modifiers, Non-Access Modifiers, Static Methods),
basic data structures: (Primiteves, string, Arrays, kD Arrays),
Functional Programming,
OOP: (Methods, inheritance, Encapsulation)
N/A #TODO
Programming Languages Programming Languages, Part A, Programming Languages, Part B & Programming Languages, Part C which covers all topics in "Concepts of Programming Languages by Robert W. Sebesta 12th Edition" & "Programming Language Pragmatics by Michael Scott 4th edition"
programming concepts, functional programming, static typing, dynamic typing, ML-family languages (via Standard ML), Lisp-family languages (via Racket), OOP, Ruby, libraries, tools
programming concepts: (Mutation, References/Pointers, : {Pairs, Tuples, Records}, Polymorphism (Functional, OOP, Bounded), Datatype Binding, Type Inference (Implicit Typing, Explicit Typing), Weak Typing, Strong Typing, Duck Typing, Method Overriding, Dynamic Dispatch, Double Dispatch, Interpreter),
programming paradigms: (functional programming, OOP),
functional programming: (Recursion, Mutual Recursion, Tail Recursion, Shadowing, Case Expression (AKA Pattern Matching), High Order Function, map, filter, fold, lexical scope, dynamic scope, Stream, Lazy Evaluation, Eager Evaluation, Memoization, Tokenization, Subtyping {Functional Sutyping, OOP Sutyping}, Generics),
ML-family languages (via Standard ML), Lisp-family languages (via Racket), OOP,
Ruby: (Classes, Object State, Arrays, Blocks, Hashes & Ranges, Subclassing: {Inheritance in java}, Mixins),
universal libraries: (File Stream, I/O Stream, Math),
tools: (Read Evaluate Print Loop (REPL), Debugger)
How to Code (Check OSSU for details) Makes one able to skim through programming languages documentation easily as most concepts are taught. Course leans more to CS than to SW as it teaches Functional Programming. Have medium-sized projects.
Introduction to Programming + Programming Languages + OOP + Problem-Solving Mastering 4 Critical Skills using C++ 17 by Prof. Mostafa Saad
programming concepts, C++ concepts, basic syntax, basic data structures, data structures, OOP, functional programming, algorithm complexity notions, algorithms, universal libraries, basic OS, basic computer architecture, UML, SE practices, software engineering, advanced syntax, advanced c++
programming concepts: (Type Conversion, Polymorphism: {Upcasting, Downcasting}, Exception Handling: {except, throw, noexcept, nothrow}, Compiler, Linker, Procedural Paradigm),
C++ concepts: (Standard Input & Output, References/Pointers, STL, Headers & includes),
basic syntax: (Variables, Variables Types, Arithmetic Operations, if, Loops {while, for}, Nesting, Access Modifiers, Non-Access Modifiers: {static, const, final}, Functions & Methods),
basic data structures: (Primitives, string, Arrays {1D, 2D, kD}),
data structures: (Encapsulation Techniques: {Struct, Pairs, Tuples}, STL: {Templates, queue, Priority Queues, Deque, Stack, Iterators, References, Pointers}, Vectors: {1D, 2D, kD}, Sets, Multisets, map),
functional programming: (Recursion),
OOP: (concepts: {Encapsulation, Abstraction, Data-Hiding, Decomposition, SOLID Principles, inheritance: {Abstract Class, Interface, Method Overriding, Method Overloading, Operator Overloading: {Unary, Subscript, Relational, Prefix, Postfix, Input, Output, Conversion, Assignment}}}, Class: {Constructor, Destructor, Copy Constructor, Delete Function, Initializer List}, Specifiers: {final, static, friend}),
algorithm complexity notions: (Problem Reduction),
algorithms: (sorting: {Count Sorting}),
universal libraries: (File Streams, I/O Stream),
basic OS: (Memory Stucture: {Stack, Heap}, Static Variables...),
basic computer architecture: (bits & bytes, 2's Compliment, Signed & Unsigned Numbers, Floating Points & Rounding Numbers, Numbers Conversion/Casting),
UML: (Class Diagram: {Association, Aggregation, Composition, Generalization, Multiplicity}),
SE practices: (MVP, CRUD Operations, MVC, Refactoring),
software engineering: (Coupling, Cohesion),
advanced syntax: (variadic, Fold Expressions, functors (High Order Function), Lambda Expressions),
advanced c++: (Move Semantics & Perfect Forwarding, Smart Pointers: {Unique Pointers, Shared Pointers, Weak Pointers}, Pointer to Pointer, Void Pointer, Function Pointer)
N/A ICPC Finalist. Ph.D. in Computer Vision. Senior SWE. Senior Computer Vision Engineer. Course is premium and does not provide autograder. Extremely suggested if feasible. Premium and Udemy courses do not provide autograder. Course provides very broad exposure to Software Engineering Discipline Principles and practices in relatively short time. Have medium-sized projects.
DSA (Pick one) Princeton Algorithms Course Part 1 & Princeton Algorithms Course Part 2
sorting and searching, shortest paths, randomized algorithms, data compression, data structures, algorithm complexity notions
sorting and searching:
    Elementary sort: (Shell sort, Insertion sort, Selection sort)
    Mergesort
    Quicksort
    Binary Search
    Quick-Select
    3-Way partitioning
    Heapsort
    A* Search
    Multi-Dimensional Search: (KdTree, Sweep Line Algorithm)
    Hash-Tables*
    Graph-Searching: (Depth-First Search, Breadth-First Search, Topological sort, Kosaraju-Sharir DFS Twice, Cycle Detection)
    * Maxflow-Mincut-problem: (Ford-Fulkerson Algorithm)
    String Sorting: (Key-Indexed Sort, LSD Radix Sort, MSD Radix Sort, 3-way Radix Quicksort, Manber-Myers MSD Sort, Suffix Sort, (and tries DS below))
    String Searching: (Knuth-Morris-Pratt, Boyer-Moore Rabin-Karp)
    Substring Searching (AKA Pattern Matching, Regular Expression matching): (Prefix Matching, Suffix Matching, Longest Prefix, Palindrome and many more)
shortest paths:
    Greedy Algorithms: (Kruskal's Algorithm, Prim's Algorithm, Dijkstra's Algorithm), Acyclic SP: (Seam-Carving)
    dynamic programming Algorithms: (Bellman-Ford's Algorithm, Dijkstra's Algorithm*)
randomized algorithms: (Shuffle sort),
data compression: (Run-length Encoding, Huffman Compression, LZW Compression, Burrows-Wheeler Algorithm, Shannon-Fano Algorithm)
data structures:
    Linear: (Array, ArrayList, LinkedList, Stack, Queue, Priority Queues, Deque)
    Symbol-Table: (Suffix Array, Trees*, Tries*, Hash-Tables*, Graphs*, Sets*)
    Trees: (Binary Search Trees, Binary Heap, 2-3 Trees, Red-Black Trees, B-Trees)
    Multi-Dimensional Trees: (Space-Partitioning Trees, Interval Search Tree)
    Hash-Tables: (Seperate Chaining: {Two-probe hashing}, Linear Probing: {Double Hashing, Cuckoo Hashing})
    Sets
    Graphs: (Directed Graphs, Undirected Graphs, Edge Weighted Graphs, Acyclic Graphs, Edge Weighted Directed Acyclic Graphs)
    Minimum Spanning Trees (MST)
    Flow-Network or Residual Network
    Tries: (R-way Tries, Ternary Search Tries, TST & R2 Hybrid Tries, Patricia Trie, Suffix Tree)
    Miscellaneous: (DFA (Deterministic Finite State Automaton)), NFA (Nondeterminstic Finite State Automaton)
algorithm complexity notions: (Problem Reduction, Linear programming, simplex algorithm, P, NP, CoNP, NP-Hard, Intractable)
Basic knowledge with programming languages and OOP DSA Review
$\uparrow$ Mastering critical SKILLS in Data Structures, Algorithms Part 1 & 2 using C++ #TODO $\uparrow$ ICPC Finalist. Ph.D. in Computer Vision. Senior SWE. Senior Computer Vision Engineer. Premium Course. Extremely suggested if feasible. Leans more to Software Industry Job Preparation as it is only Problem-Solving based.
Problem-Solving (Pick one) Neetcode 150 Check out the website. At least 1 Programming Language, DSA (Highly Recommended) Created by a guy who worked at Google for ~1 Year
$\uparrow$ Mohamed Ayman Problem-Solving Training $\uparrow$ $\uparrow$ Senior SWE with TA experience. Very similar to Neetcode but more specific and broader. More newbie friendly than Neetcode.
$\uparrow$ Prof. Mostafa Saad critical SKILLS for Coding Interviews C++: Part 1 $\uparrow$ $\uparrow$ ICPC Finalist. Ph.D. in Computer Vision. Senior SWE. Senior Computer Vision Engineer. Course is premium and covers only Data Structure. Extremely suggested if feasible. Has other courses which cover DSA for newbies similar to this.
Operating Systems UW-Madison CS-537: Introduction to Operating Systems (Based on Operating Systems: Three Easy Pieces)
OS Algorithms, Virtualization, Concurrency, Memory,RAIDs, File Systems, Journaling, Crash Consistency
OS Algorithms: (Scheduling Algorithms, Page Replacement Algorithms, Disk Scheduling Algorithms, Memory),
Virtualization: (CPU Virtualization, Memory Virtualization),
Concurrency: (Processes, Threads, Locks, Semaphores, Event-based Concurrency),
Memory: (Segmentation, Paging, TLB, Swap Space, Condition Variables, Disks),
RAIDs, File Systems, Journaling, Crash Consistency
C Programming Language, Computer Architecture Concepts #TODO
Database Systems CMU 15-445/645: Database Systems
Data Models, Storage Models, Query Languages, Storage Architectures, Indexing, Transaction Processing, Recovery, Query Processing, Parallel Architectures
Data Models: (Relational, Document, Key/Value),
Storage Models: (N-ary, Decomposition),
Query Languages: (SQL, Stored Procedures),
Storage Architectures: (Heaps, Log-Structured),
Indexing: (Order Preserving Trees, Hash Tables),
Transaction Processing: (ACID, Concurrency Control),
Recovery: (Logging, Checkpoints),
Query Processing: (Joins, Sorting, Aggregation, Optimization),
Parallel Architectures: (Multi-core, Distributed)
C++ Programming Language, Operating Systems #TODO

Sub-Fields

To be done...

Essential

  • Before diving into the following resources, you can first check "What they are about" from Essential Explanation.
  1. Essential skills:
    1. How to ask questions?
      1. Dr. Mostafa's advice on how to ask (Arabic).
      2. Watch Coursera's "Getting Help" video.
      3. Read Stack Overflow "How to ask".
      4. Read FreeCodeCamp's "How to ask good questions" article.
      5. Read about XY Problem.
      6. Ask a binary question if possible. (I.e., True/false)
      7. If not, Ask the enclosed question if possible. (I.e., the question that has an expected answer; E.g., Which color? "Red", "Green", "Blue")
      8. If not, ask open questions and supply atomic information in an enumerated form. (E.g., "How to study Algorithms?" 1. I know math. 2. I know Programming Languages.)
      9. Note: Atomic information is the simplest form of information possible that can not be further broken down into even simpler data and can never hold more than a single meaning.
      10. Check the following question template:
      // Template 1:
      # How to do *X*?
      
      ## What I am trying to do (Heading is not a question)
      I am trying to do *Z* via *W* & *Y*.
      
      ## What I tried
      I tried *A*, *B*, *C*.
      
      ## Where did I reach
      1. *A* can't be done because of Reason *D*
      2. *B* can't be done because of *E*.
      3. I am facing error *F* while doing option *C*.
      
      // Template 2: (after greatly practicing template 1)
      # How to do *X*?
      1. I am trying to do *Z*.
      2.  Tried option *W* but can can't do it because of *A*.
      3. Tried Option *Y* but I get error *E*.
      4. Googled *E* and only found 1 2 3 links but couldn't solve it.
      
    2. Who to ask before you ask?
      1. Only reliable person that is in charge, or has been in charge, or reached the end of the road you want to take.
      2. Never rely on an answer/course even if it is free before performing rule 1 above.
      3. Arabic shorts & videos:
        1. Dr. Mostafa: Video 1 & 2.
        2. Mr. Moshrif: Video 1.
    3. How to study and not forget what you studied? Use Obsidian (using Zettlekasten & Wikipedia styles)
    4. What is your opinion about X/Y/Z Course?
      1. Arabic:
        1. Mr. Moshrif: Video 1 & 2. Post.
        2. Dr. Mostafa: Video 1.
    5. How do you plan and solve most of your problems (in life and the field or industry) smartly with the least thinking effort and minimize failures?
      1. Check "How to ask?" above.
      2. Check related records or background about who is giving you the advice. If he is advising on "How to work at Google?" he must have worked there at least.
      3. Avoid unaccountable advice or courses from unreliable people, even if they are free. Unless a person is accountable for what he says and has an active track record, treat every word with a grain of salt.
      4. For you to ask someone, you need to build a relationship with them. You also might need to show that you also help when you can, as this will increase the chances of getting help.
      5. Firmly believing that you are not exceptional by any means. 99.99% of your problems have faced others as well, and they developed a solution for them, but you just didn't research enough.
  2. Essential tools: git-and-github (in ACU-English channel or ACU-Arabic channel) & Linux (in ACU-English channel or ACU-Arabic channel).
  3. Knowledge Base:
    1. @Student: recommended forum (in ACU-English or ACU-Arabic).
    2. For @Trusted: knowledge base forum (in ACU-English or ACU-Arabic).

Career Resources

  1. You can find them in Channels & Categories Onboarding.

Community

  • This section is for onboarding.
  • Join Discord Discord

General

Rules

  1. Do not waste your efforts on rude people; Don't try to respond to bullying or any rude text, please mention @Moderator.
  2. Hateful discussion is prohibited, and you will be banned forever.
    1. The Server has 0% tolerance against contentions like Religious Disputes/Curses, Politics, Sexism, and NSFW Content (Curses or Images).
    2. Never do "Character assassination". Even for a person who isn't on the server.
    3. You are allowed to criticize respectfully & objectively. E.g., You can claim a course to be a "Scam" (only If you have proof) but you are not allowed to curse its instructor.
  3. Do not give advice when you are not eligible. For example:
    1. Do not tell anyone "How to become a good Software Engineer" unless you are reciting from a credible source, or you have 5+ years of experience.
    2. Do not say "This resume advice is wrong" unless you have a contradicting credible source, or you are a recruiter/hiring manager (at the same companies that the person is talking about).

Conversation Etiquette

  1. If talking needs more than 2 replies, you must open a thread.
  2. If you ask a question, be responsive to answers.
  3. Never ask the same question twice.
  4. Never ask before doing your research & showing it.
  5. Don't mention people (E.g., @omar1111) or DM unless they are comfortable with it. (ESPECIALLY @Mentors)
  6. Don't ask to ask; Ask right away.

FAQ

  1. How to use Discord:
    1. Arabic: New Video or Old Video.
    2. Tips:
      1. You can show/hide channels from "Browse Channels" options on the left pane.
  2. Can't find a study buddy or anyone to help in a course?
    1. Have you tried your best to share this server in all the communities that you are in?
    2. Did you try to ask on the server for anyone who knows someone who is studying course X?
  3. Read Essential.

Roles Onboarding

  1. Students (@Student):
    1. Who is @Student? Authentic admitted people who applied using one of the authentication methods in the entry channel in the Discord server.
    2. What are their benefits?
      1. Find tutors for the entire right side of the aforementioned Mind Map.
      2. Ask mentors.
      3. Have access to life-after-grad channel which provides help with ACU Services (everything on the left side of the aforementioned Mind Map) and internships channel.
    3. IMPORTANT NOTE: All the benefits are limited. For example, people asking questions in Princeton Algorithms Part 1 Week 6 will help people in Week 5, and the hierarchy goes on. The student receives a single warning if they do not offer help as they were helped. The second time, he is banned. (Reason in Members Explanation)
  2. @Alumni: Like @Student but with industry/academic experience and looking for career advancement.
  3. Trusted (@Trusted):
    1. Who are @Trusted? People supporting the community. They are nominated by 2+ @Trusted. They are offered quite much more help as compared to @Student/@Alumni.
    2. What are their benefits?
      1. Have access to the real server (entire ACU Services which is $3X$ what @Student has access to).
      2. Have full access to exclusive resources that are only available to them.
      3. Can be nominated to higher roles.
    3. How to be @Trusted?
      1. Think of being @Student as an interview. Each question or help tells @Trusted more about you.
      2. Support the community as much as you can; Ask "How can I help the community?" or infer it.
      3. Provide ideas, resources and help. Check channels where you can provide help. Ask us to create one (if it is missing).
      4. Find and collaborate with people with mutual interests. For example:
        1. Find people applying for internships (in ACU-English or ACU-Arabic) or applying for full-time jobs life-after-grad (in ACU-English or ACU-Arabic).
        2. Help people with their resumes in life-after-grad (in ACU-English or ACU-Arabic).
  4. Special Roles: Only explained in Discord under their category.
  5. Mentor (@Mentor): An expert (with 5+ years of experience) who is open to providing mentorship.

Services Onboarding

Academia

Currently, no dedicated channels for it, but most people will answer you. For example, you can ask about graduation projects or CVs life-after-grad (in ACU-English or ACU-Arabic).

Career

  • For the explanation, check Career Explanation.
  • Anything between quotes means a node in the aforementioned mind map.
  • Career Services are carried out in the following places.
  1. life-after-grad channel: For @Student to discuss "Career" except "Problem-Solving Training".
  2. SPECIAL CATEGORY: For @Special Roles to discuss "Career Advancement" and "Discussions".
  3. SUB-COMMUNITIES:
    1. Open Source Programs (Name of Community):
      1. general-osi channel.
      2. gsoc channel.
    2. New Grads (Name of Community): CAREER Category.
  4. CAREER Category:
    1. For @Trusted to discuss "Problem-Solving Training", "Profile Review", "Interview Preparation", and "Job Search & Application".
    2. Partially for @Student to discuss "Problem-Solving Training" and search & apply together (mutually apply) to internships.

Sub-Communities

They are all carried out in SUB-COMMUNITIES.

Networking

  1. @Student networking options are limited to studying channels and general mentorship (in the category MENTORSHIP).
  2. @Trusted networking options are like @Student but extend to their exclusive channels.
  3. For beginners, pick an interactive channel where you can collaborate with others. internships, ps-grinding. For more advanced members, tackle questions in Q&A, especially life-after-grad.

Mentorship

Provided only under the "MENTORSHIP" Category.

Mutual Mentorship, Coaching and Tutoring

No dedicated channel. Provided throughout the entire server.

Events

Third-party events are available only on the Arabic ACU Server in recommended events.

Channels & Categories Onboarding

  • Brief & ordered from top to bottom.
  • Not all channels are mentioned to avoid redundancy.
  • All channels mentioned are just for @Student (which is 40% of the entire server).
  • Always check pinned messages.
  1. COMMUNITY:
    1. announcements: Any major updates in the server. @everyone tag is only used for important announcements.
    2. ask-mod: Used for newbies or issues within the server or moderators.
    3. server-suggestions: Things you wish in the server.
  2. NEWCOMER:
    1. entry-rules: Rules to apply as @Student.
    2. entry: Where you apply or grant people.
    3. general-newcomers: Used by members who do not want to enroll and keep anonymous. Further similar channels will be added if there is traffic that requires anonymity.
  3. MENTORSHIP
    1. mentors-announcements: All mentors announcements.
  4. SPECIAL CATEGORY: This is not the name of the category but some set of categories that have the following similar channels:
    1. general: Place for members to get answers from all special roles members.
    2. side-channel: Like "general" above but requires just one answer.
    3. knowledge-base: Stackoverflow-like for resources between members.
  5. SOCIAL:
    1. off-topic: For non-cs type of questions (E.g., ask for opinions, what is Gen-Ed?...).
  6. GENERAL: Channels that do not fit anywhere else.
    1. recommended: Stackoverflow-like resources for @Student.
    2. recommended-events: Suggested events that are not organized by ACU (the Miscellaneous events in MidMap above).
    3. general-questions: Topic-less Q&A.
    4. life-after-grad: Topic-less Q&A but for graduation year (E.g., graduation project) and beyond (E.g., resume review).
  7. From CORE PROGRAMMING to CORE SYSTEMS: Categories ordered after OSSUs' curriculum. Contains general channel for each topic (in OSSUs' curriculum) and a specific channel for each course covering the same topic (E.g., general-dsa & princeton-algo-part1). You can study OSSUs' courses here or there in addition to ACU SE-oriented courses.
  8. CS-SUB-FIELDS: For CS-minors.
    1. general-cs-subfields: For CS-minors that have low traffic.
    2. general-ai
  9. STACKS & TECHNOLOGIES: For cs-minors stacks but currently has SE-stacks.
    1. general-stacks-and-technologies: Mainly to ask about multiple domains at once and to discuss stacks of low traffic (do not currently have dedicated channel).
  10. SUB-COMMUNITIES: For Communities that do not require more than 2 channels for discussions.
    1. Open Source Programs (Name of Community).
      1. general-osp: Topic-less discussions about Open Source Internships like "How to prepare".
      2. gsoc: General discussions about Google Summer of Code.
  11. CAREER: For career-specific preparation topics. For general discussions (E.g., Offer negotiation), go to life-after-grad or general (for specific roles).
    1. ps-grinding: Accelerate studying problem-solving by studying for others to increase commitment level. Similar to mock interviews, except that each pair of people decides their terms (E.g., no camera, no voice communication...). In other words, it is half-mock-interviews.
    2. mock-interviews: Schedule mock-interviews between @Trusted only. Ask for a random mock or prepare before an interview (mock all day).
    3. internships: Share and discuss internship options, application process, and tips between @Student.
    4. vacancies: Applications resources. Each application has a link and useful information (Company, Job, recruiters and hiring managers) to further facilitate your application chances.
    5. mutual-apply: Apply together at the same time to the same vacancy.
  12. ALUMNI:
    1. general-alumni: For other uncategorized alumnus topics of interest.
    2. career-advancement: For All career questions & knowledge exchange of Alumnus.
    3. personal-finance: Money transactions, taxes, benefits, retirement, Investment, and so on.
  13. ARCHIVE: Old channels replaced with ways/channels of doing things or that do not have traffic anymore.

About Us

Board Of Leaders

Alt text
Omar Shawky ACU Creator

Mentors

Alt text
Abdelhalim Zaki DevOps Mentor

Curriculum Maintainers

Alt text
Omar Shawky ACU Creator
Alt text
Abdallah Ahmed Curriculum Maintainers

Contributors

Alt text
Omar Shawky ACU Creator
Alt text
Abdallah Ahmed Curriculum Maintainers
Alt text
Mohammed A. Gomma Community Moderator

Hussein HanyCommunity Moderator
Abdulrahman Al-GhamdiCommunity Moderator

Abdullah ElhadadCommunity Moderator

Mohammed AshrafCommunity Moderator

Ramadan YassinCommunity Moderator

Ali KehelWebsite Maintainer
Abdoo NasserCommunity Moderator

acu's People

Contributors

omarshawky1 avatar xuser5000 avatar yasserahmed10 avatar youssefshaban6 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

acu's Issues

Copy and enhance About US section in the Website to the repo

Request

  1. Copy everything under the About US except Board of Leaders. (It is a holder place at the moment)
  2. Suggest, if you feel like, where to put Mentors and Board of Leaders.
  3. Suggest where to put the Mission section or even merge it with the README summary.

Suggestion

Add everything under "About US" in the website into the repo.

As where to add it, I personally think that only mentors and Board of Leaders should be at the top in the README. Meanwhile, the rest should be in the Explanation beside ACU Comparison or like in OSSU, at the bottom of the README.

Fix large topics covered in CS-Fundamentals

DB and OS Covered Topics in in CS-Fundamentals are taking so much space. We should use a drop down menu in OS and DB courses.

I am not sure which topics to be on top and which topics to be under the drop down. Could you @xUser5000 do it? I have left created a template of the drop down in these courses in the last commit. Just add top things between Summary tags.

Princeton Algorithms Review

NOTE: This review is under construction as I will add more depending on comments.

General Info

  1. Course is in java, but only requires knowing while, for, try & catch, standard streams, basic OOP (casting, encapsulation, Inheritance, Abstract & Interface classes, private & public access modifiers, static and final modifiers, lexical scoping))`. This does not take an hour to know. Therefore, it wouldn't matter what is your background languages.
  2. Course is quite bigger than any other alternative (Stanford Specialization, San Diego Specialization, MIT Introduction to Algorithms) and it is based on a book.
  3. It has an autograder. You succeed if you get 80%. But, trying to get 100% will teach you 3X as Much.
  4. Never study without taking notes. you will forget the first week by week 5 (if you study daily).
  5. First part is quite easy compared to second part especially starting from mincut-maxflow.
  6. 99.9% of your questions are answered in the Discord pinned messages.

Courses Comparison

Aspect/course Princeton Stanford MIT
Quantity Biggest less than Princeton (but don't literally know all content) less than Princeton (but don't literally know all content)
Assignments Each weak introduces a real project assignment that has autograder which corrects even the writing style using checkstyle. No autograder. Don't know
Quality Best explanation. Consistent great explanation. Very theoretical and examples are bad. Different instructors with different qualities.
Cost No cost (not even financial aid). Requires financial aid. Requires financial aid.
Prerequisites - Math (check OSSU). Don't know.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.