Navigating the Maze of Majors

vee always got you🫡 Even if you settled on a major, Due to courses, intuition, family, friends, likes & dislikes, I would advise you to read about all three majors, just in case maybe something could click

software engineering

  • What is a Software Engineering (SE) major?

    This major qualifies you to become a software engineer, encompassing various branches such as web development, mobile development, cloud architecture, some DevOps, software testing, and more. Primarily, you'll be tasked with implementing features or enhancing system performance.

  • When should you choose it?

    If you have a passion for coding, debugging, Learning new things, and innovating new features. Over time, you might find it more methodical than creative, but it remains enjoyable through continuous exploration.

  • Is it worth majoring in?

    It depends on your aspirations. Becoming a proficient software engineer demands significant effort, making it impractical as a minor due to time constraints, especially with project commitments. If you are interested in having more practical projects and experience in different stacks, this is for you.


software engineering subjects:

5th Semester:

Subject Description
SE project Build a website using a tech stack like MERN. Utilize new architecture. A cross-major subject with no final or mid-term, only the project.
Software design and architecture Conceptual subject covering theory, diagrams, and design patterns with a focus on UMLs.
Software construction & testing Conceptual subject with practical design patterns and both manual and automated testing.
Requirement Engineering Introduction to UMLs and software concepts. Theoretical concepts on stakeholder management. Medium-sized project using figma designs and writing SRS document.

6th Semester:

Subject Description
SE project II Similar to SE project 1 but with different tools/stacks. Build a web app using nextjs, nestjs with microservices architecture. Utilize Apache Kafka for communication. Dockerization is a bonus.
Cloud Computing Introduction to cloud computing basics, preparing for the lowest level of cloud practitioner amazon certification. Labs focus on practical application on AWS.
Mobile Development Focused on Flutter with theoretical lectures about widgets, spacing, etc. Labs are practical with mini app development. Course content important for learning Flutter but can be supplemented online.

Best elective courses for the major:

For those deeply passionate about SE and less concerned with diversifying their studies (5th semester):

  1. Database programming: Understanding databases is crucial for SE, including optimization techniques. ( most of the time Amal is the TA and it’s not an easy subject)
  2. Software security: Learning to secure your code is invaluable and enriching, very useful course will teach you a lot.
  3. Optional exploration of machine learning for insights into AI, beneficial throughout your undergraduate journey. It’s useful for a bachelor as most of the topics are AI-related. Note: Skipping ML will prevent access to advanced ML courses.

lightbulb Personal insight: For some, pursuing ML outside of university might be more efficient and manageable, though individual preferences vary.


Recommended advisors: For guidance on choosing the major:

  • Dr. John
  • TA Eslam
  • TA Mariam Khaled
  • TA Amany
  • TA Omima
  • TA Islam


lightbulb community to join: ACM community is very important for this major

data science

  • What is a Data Science (DS) major?

    This major qualifies you to become a data scientist, encompassing various branches such as data visualization, data engineering, data analysis, database optimization, big data, data pipelining, image processing, machine learning, advanced machine learning, and more. Primarily, you'll be tasked to deal with data for different purposes such as answering a research question, making a efficient machine learning model, optimizing database queries for faster retrival, dealing with different databases, and more.

  • When should you choose it?

    If you have a passion for researching (academic mainly), manipulating data, improving ML models, pointing out insights, and innovating new features. As it remains practical, tasks could get repetitive over time, but it remains a field of interest and it puts you on the road of playing around with data in various ways. It may shift your career a bit to be business oriented.

  • Is it worth majoring in?

    Being a data scientist is a more specific major in computer science, so unlike software engineering and IT security, where there are a lot of different tools to use and discover, data science is more limited with tools and focuses on data and general concepts.


data science subjects:

5th Semester:

Subject Description
Data Engineering&Visualization In each of its projects, you will get tasked with applying various concepts of data cleaning, extraction, visualization, and merging to answer a research question you made. The course won't teach you that much! If you are interested in Data Engineering and want to learn more, you will have to learn more on your own (at home).
Database programming Using PGAdmin, Learning how to make indices (sort data to different columns) to optimize database querying for efficient data retrieval. And the final lecture a view on spatial databases.
Machine Learning Some of the most general models and mini projects applying them using python. Most of your studying will be math but once you understand the steps it is easy so don’t let the complex appearance of the slides discourage you.

6th Semester:

Subject Description
Advanced Machine Learning It picks up after the previous ML course with no intro. This course introduces Ensemble learning models then delves into neural networks. much like the first ML course most of the practice assignments will include math.
Image Processing You work with images and videos. Mainly images. You learn about and use filters on images. These filters can make an image sharper, blurry, etc. The second part of the course is about collecting info from images or videos. As in object recognition. Detecting moving objects in videos and so on.
The course itself is very interesting!
A student Personal opnion => But If Dr. Amal Abdelkarim happens to be the instructor for the course, I would suggest considering alternatives. Based on my personal experience, her teaching style may not align with everyone's preferences. When weighing between majors, like Data Science and others, it's beneficial to prioritize courses led by instructors who are known for their effectiveness.
Big Data You will learn very abstractly and vaguely about Big Data methods and tools, like Cassandra, Spark, MongoDB, etc.
Big Data itself (the field, not the course) is a very important and interesting field. The course itself tho doesn't delve too much into these tools. You learn about each tool in ONE or max TWO Labs, and then you move on. If you are interested in Big Data, you should definitely try to learn more on your own (at home) because the course wont teach you much. No midterm, only a final that mostly tests memorized code.

Recommended advisors: For guidance on choosing the major:

  • Dr. Nada
  • Dr. Caroline
  • TA Nouran 😎
  • TA Aya

Get in Touch: Reach Out for Assistance:


lightbulb Kaggle as it is the Leetcode of data scientists (Its competitions rewards Green Papers 😉 [not easy however but it is good for practice])

information technology

  • For some unknown reason, this is the hardest major out of the 3, so if you really really really need the grade, skip it (don’t like this opinion one bit, but it is fair to say it, life is not dictated by the UNI at all, and you could be a pretty average in uni, and be amazing later on), if you wanna talk about that hmu
  • For the graduates and interns that entered the industry, the recruiters had very high expectations us and declared that we are amazing candidates (speaking for the first dof3a majoring in cybersecurity)

information technology subjects:

5th Semester:

Subject Description
Cryptography: The hardest course in all Uni “quoting several TAs and the past two dof3as”, ours was especially hard (different Dr). It continues on from what you took in semester 4 intro course but ++ more details .
Software Security: it was one of the great courses overall, it displayed actual web attacks and how to mitigate them (also a very nice elective for software engineers)
Digital forensics most fun course in UNI tbh, Dr Hanan taught it and killed it el sara7a, bas if she is not the one who is teaching it, typically you will have to learn about .pcap files and Wireshark kda kda. You will learn about how the forensics process works and what to do in it, then you will learn about the types of digital evidence and how to infer from it what happened. Other than those, it is up for that Dr.

6th Semester:

Subject Description
Ethical Hacking best course in UNI, it is 100% practical, 2 labs per week, no lectures , final has 30% , 70% on labs , best 7 labs out of 10
Business Continuity you are not gonna like it but here for the best way to pass it, it is a is a detailed excel sheet of all the course material.
Network security: not built on networks like you would think but it has important knowledge and it gives you the chance to study for the CCNA.

  • When to choose it?

    first of all, no one can decide for you, no one. - but if you have a huge problem in programming this is the least programming heavy one (the least, doesn’t mean none, they all have a lot, it is just in less frequent amount, also no problem can’t be fixed and ***you should fix it***). - you have a knack for fiddling with the src code of any software you touch. - you like learning , you will do a lot of that! Constantly and consistently and you have to love it. - It is creativity heavy. meaning that thinking outside of the box is the norm (yup) and that you will always have to push to your limits to solve a certain problem whether in real life during your job or in the learning phase (solving CTFs or vulnerable machines). Doesn’t mean if you think you are not creative then it is not for you. creativity either stems naturally or from experience or both akeed. pick your poison. - If you liked the ECPC competitions, we have that too but they are called CTF competitions. Basically you hack for fun and to win the competitions which also have prizes.

  • When not to

    - Job opportunities in Egypt overall are not the best but in security. It is the lowest but they are all great companies. Think about it like: either you won’t get a job or you will get an amazing one, no in-between (at least not yet). - It is extremely stressful. To be great at it, you have to keep studying and keep working, you can’t just stop and use what you already learnt, you just can’t, or you will be average. For example a React Dev would just keep learning all there is to know industry wise about react (so he is learning vertically), when he does need to expand his knowledge about other domains he just goes for another javascript framework masalan msh learning about graphql and SEO masalan (btw he is doing that while working a 9 to 5 job and has a life). in security no you have to learn horizontally more and when you need to learn vertically. - you hate networks and OS - you don’t like just nitpicking or fiddling or just trying every single option there is to reach some “goal” . some problems require one path only to solve it, so you would have to bruteforce all other options.

elective courses

    Semester 5

  • Machine Learning: is an amazing option to pick, to have the combo of applying machine learning in security. If you don’t take machine learning in semester 5, you can’t take advanced machine learning in semester 6.
  • software construction: is both theoretical and highly practical so you will have a course you are a bit familiar with and also get to understand software applications a bit more.
  • software architecture: pick it if you don’t want any datascience courses (theory heavy) and not worth it as a security major but if you want to secure a backup plan for a software career or a software interelated with security career (there are a lot of those and they are AWESOME). go for it
  • Database programming: is not worth it at all, pick it if you are bored or you want to get all datascience electives
  • Data visualization:is a fun easy course but there are better options to pick and you can get the knowledge elsewhere

    Semester 6 (read it now not when you reach semester 5 lol)

  • advanced ML:take it if you already took ML.also don’t take ML if you are not gonna take advanced !!!!!
  • Big Data:is a super fun course and a nice knowledge to have . disregard the UNI’s warning about it being a heavy course . but it doesn’t have lectures it is only 2 labs per week so if you hate attendance issues yah…..
  • mobile development:personal opinion: I wouldn't recommend selecting it if Dr. Amal is the one teaching it,but just don’t for your sake
  • cloud computing:AWESOME COURSE, YOU MUST TAKE IT AND YOU WILL NEED THAT KNOWLEDGE.
  • image processing:as a course is meh and don’t forget that you are an InfoSec student so pick extra skills or have fun or get an easy A+ course not a random course that could make you miserable.

lightbulb To get started and have a quick idea and get a great overview on everything. This is the best resource for beginners there is. TryHackMe🫣 & portswigger


Get in Touch: Reach Out for Assistance:

psst🙋‍♂️ hey there buddy! if you found it useful give it a star! ✨🚀 StarOurRepo