CAI115 Introduction to Computer Sciences - Comprehensive Study Guide
Course Overview & Academic Leadership
Course Title: CAI115: Introduction to Computer Sciences
Academic Institution: Faculty of Computers & Artificial Intelligence, May University in Cairo (MUC)
Academic Year: 2026–2027
Course Professor: Prof. Dr. Rania El-Gohary (Dean of the Faculty of Computers and AI)
Academic Leadership Profile — Prof. Dr. Rania El-Gohary:
Professor of Artificial Intelligence at the Faculty of Computers and Information, Ain Shams University.
Served as Dean of the Faculty of Information Technology at Misr University for Science and Technology (MUST).
Director of the Artificial Intelligence Technology Center (AITC) at Misr University for Science and Technology (MUST).
Academic Director of the Presidential Digitalization Initiative.
CEO of the International Certificate of Artificial Intelligence (ICAIL).
Extensive contributions to national and international initiatives in artificial intelligence, digital transformation, technology development, and capacity building.
Active research profile with multiple awards and academic recognitions.
Vision for the Faculty: Building a strong connection between education, innovation, scientific research, practical application, entrepreneurship, and the labor market ("From First Year to Future Career").
Teaching Staff Profiles
Dr. Ghada Wahby:
Academic Degrees:
B.Sc. in Electrical Engineering, Helwan University ().
M.Sc. in Electrical Engineering, Cairo University ().
Ph.D. in Electrical Engineering, Minia University ().
Academic Experience:
Over of academic teaching experience across leading Egyptian institutions.
Full-time role at Modern Academy.
Full-time role at Giza Institute.
Part-time role at Tiba Academy (Taiba Institute).
Teaching role at Misr University for Science and Technology (MUST).
Quality Assurance & Professional Contributions:
Served in the Quality Assurance unit at Giza Engineering Institute.
Quality Coordinator for the Communications & Electronics Department during quality evaluation visits.
Developed course files, quality-related documents, course development plans, engineering legislation, professional ethics, and program criteria ( and ) for Communications & Electronics, incorporating Outcome-Based Education (OBE).
Reviewed senior graduation projects on June 29, 2026, including AI solar-powered counter-UAV systems, secure bank data centers, AI sign-language translation, smart health monitoring watches, and GEI smart campus cloud integration.
Fields of Teaching: Computer Science, Information Technology, Computing & Information Systems, Communication & Electronics.
Dr. Yasser Ali Zenhom:
Academic Degrees:
B.Sc. in Electronics and Communications Engineering, Modern Academy for Engineering and Technology ().
M.Sc. in Electronics and Communications Engineering, Shoubra Faculty of Engineering, Benha University ().
Ph.D. in Electronics and Communications Engineering, Aswan University ().
Academic Experience:
Full-time faculty member at the Faculty of Computers and Artificial Intelligence, May University in Cairo.
Previous academic positions at Modern Academy for Engineering and Technology, Giza Institute, and MUST.
Research & Professional Contributions:
Active researcher with international peer-reviewed papers published in Q1 journals (Elsevier, Springer).
Peer reviewer for international Q1 academic journals.
Educational content developer for the Digilians Nanodegree Program under the Ministry of Communications and Information Technology (MCIT), focusing on Data Analytics and Applied Technologies.
Instructor at the National Research Centre (AI, Power BI, Python Programming).
Graduation project supervisor in Artificial Intelligence, Computer Vision, Embedded Systems, Internet of Things (IoT), Healthcare Applications, and Data-Driven Technologies.
Fields of Teaching: Artificial Intelligence, Machine Learning, Python Programming, Data Structures, Computer Networks, Digital Communications, Internet of Things (IoT), Electronics.
Foundations of Computer Science
Definition of Computer Science (CS):
Computer Science is the systematic study of how computers and computational systems work, and how algorithms, software, and data are designed and applied to solve complex problems efficiently.
Major Areas within Computer Science:
Programming: Writing structured instructions that computer hardware can interpret and execute.
Algorithms: Designing efficient, step-by-step procedures and computational logic to solve specific problems.
Data Structures: Organizing, managing, and storing data formats to enable efficient access and modification.
Artificial Intelligence (AI): Building hardware and software systems capable of performing tasks that typically require human intelligent behavior.
Machine Learning (ML): Developing algorithmic models that allow systems to learn patterns and infer decisions directly from data.
Databases: Structuring systems to store, organize, query, and retrieve large volumes of digital data securely.
Computer Networks: Studying physical hardware and software protocols that enable computers to exchange data and communicate.
Operating Systems: Designing core software layers that manage computer hardware resources and provide services for applications.
Cybersecurity: Protecting computing hardware, software systems, and network data from unauthorized access, attacks, and corruption.
Software Engineering: Applying rigorous engineering principles to construct, deploy, and maintain large-scale software applications.
Computer Architecture: Designing internal physical hardware structures, CPU registers, buses, and logic execution units.
Computer Graphics: Generating, rendering, and manipulating images, animations, and visual information digitally.
Course Objectives & Core Curriculum Outlines
Primary Course Objectives:
Computer System Architecture: Understand the functional roles of the CPU, primary memory, secondary storage, and input/output (I/O) peripherals, while exploring hardware-software interaction through operating systems.
Data Representation & Logic Gates: Master binary number systems, numerical conversions, binary arithmetic, character encoding standards, and foundational logic gates with corresponding truth tables.
Computational Thinking: Develop logical problem-solving techniques, design step-by-step algorithms, and decompose complex tasks into executable programmatic components.
C++ Programming: Gain proficiency in program execution structure, variable declaration, console I/O, arithmetic and logical operators, conditional branching, iteration loops, user-defined functions, user-defined structures (
structs), arrays, and memory pointers.
Strategic Importance of the Course:
Solid Engineering Foundation: Acts as a central structural hub connecting physical hardware components directly to computer logic and program code.
Bridging Theory & Practice: Merges theoretical hardware principles (such as Logic Design) with practical implementation languages (C++).
Path to Advanced Specializations: Establishes prerequisite knowledge for advanced computing tracks, including AI, Data Structures, and Software Engineering.
Empowering Technical Readiness: Develops core engineering problem-solving capabilities across diverse systems.
Seven Progressive Topics (Course Outlines):
Topic 1: Introduction to Computing and Computer Science
Topic 2: Computer Hardware and Components
Topic 3: Data Representation and Number Systems
Topic 4: Logic Gates and Truth Tables
Topic 5: Computer Software and Operating Systems
Topic 6: Algorithms and Problem Solving
Topic 7: Introduction to C++ Programming
Grading Policy & Course Administration
Course Administration Logistics:
Credit Hours:
Weekly Lecture Hours:
Weekly Lab Hours:
Course Prerequisites: None
Assessment & Mark Distribution (Total: ):
Student Activities: (Continuous assessment evaluated throughout the semester)
Midterm Examination: (Administered during Week )
Practical Examination: (Administered during Week )
Final Examination: (Administered starting Week )
Project Submission: Mandatory course project due prior to sitting the Practical Examination.
Attendance Policy:
Attendance is strictly monitored across lectures and laboratory sessions.
Any student whose cumulative absences exceed () of total scheduled sessions will be legally barred from taking any final examinations.
Historical Evolution of Computing
Definition & Core Characteristic of a Computer:
A computer is defined as a programmable, electronic device that accepts raw input data, performs arithmetic and logical operations on that data, displays or presents processed outputs, and stores results for future use.
Programmability: The capability of a machine to follow a flexible, changeable sequence of instructions (a program)—doing precisely what it is instructed to do, nothing more and nothing less. This flexibility differentiates computers from fixed-function electronic devices.
Historical Pioneers & Contributions:
1. Ismail al-Jazari () — Mechanical Automation:
Designed sophisticated, automated mechanical systems and water clocks.
Demonstrated mechanical devices capable of executing fixed sequences of predefined actions.
Introduced early concepts of mechanical automation and procedural execution.
2. Ada Lovelace () — Algorithms & Programming:
Worked alongside Charles Babbage on his proposed mechanical computer, the Analytical Engine.
Authored an algorithm designed to compute Bernoulli numbers on the machine.
Recognized as the writer of one of the first published computer programs, establishing the relationship: .

3. George Boole () — Boolean Logic:
Formulated Boolean algebra and formal logical operations in his work (including The Laws of Thought, published in ).
Established a formal system operating on binary logical values ( or ) using core operators (, , ).
Provided the mathematical foundation for modern digital electronic circuit design and switching logic.

4. Alan Turing () — Theory of Computation:
Formulated fundamental mathematical theories underlying computation.
Introduced the concept of the Turing Machine as a universal mathematical model of step-by-step computation.
Defined the theoretical boundary of what machines can compute, laying the foundation for modern theoretical computer science and computability theory.

Early Electronic Digital Computers: ENIAC & ABC
ENIAC (Electronic Numerical Integrator and Computer):
Developed in the United States during World War II and officially announced in
Designed and constructed by John Mauchly and J. Presper Eckert at the Moore School of Electrical Engineering, University of Pennsylvania.
Recognized as one of the earliest general-purpose, large-scale electronic digital computers.
Constructed using approximately vacuum tubes.
Required an entire specialized room, weighed heavily, and consumed high amounts of electrical power.
Primary purpose: Conducting high-speed numerical calculations, such as military artillery firing tables.

ABC (Atanasoff–Berry Computer):
Designed and built between (conceived) / (construction) and at Iowa State College (now Iowa State University) by Physics Professor John Vincent Atanasoff and graduate student Clifford E. Berry.
Constructed specifically as a special-purpose electronic machine to solve systems of up to simultaneous linear equations in unknowns.
Incorporated approximately vacuum tubes within its mathematical processing circuits.
Implemented binary base-two arithmetic rather than decimal arithmetic.
Used regenerative electronic memory consisting of electrical capacitors embedded on two rotating memory drums to store binary charges.
Difference from ENIAC: ABC was a non-programmable, special-purpose calculator, whereas ENIAC was general-purpose and programmable.
Historical Legacy: The ABC introduced three core technical principles fundamental to all modern electronic computers: .

Classification of Computer Systems
Computer systems are broadly categorized into six functional classes according to physical volume, computational throughput, hardware capacity, and cost structure:
Supercomputers: The most computationally powerful systems, designed with massive parallel processing capabilities. Used for large-scale scientific modeling, global climate simulations, molecular dynamics, and nuclear physics.
Mainframes: High-capacity enterprise servers engineered for fault tolerance and high I/O throughput. Employed by banking institutions, government agencies, and airlines for high-volume batch processing and transaction handling.
Minicomputers: Mid-range multi-user systems positioned structurally between mainframes and personal microcomputers, frequently serving as enterprise department servers.
Microcomputers: Individual user systems (such as desktop PCs and laptops) built around a single microprocessor, widely deployed in offices, home settings, and education.
Mobile Devices: Highly portable, battery-powered computing platforms (smartphones, tablets, smartwatches) featuring wireless radios and touch-screen user interfaces.
Embedded Computers: Specialized microcontrollers or system-on-chip (SoC) platforms embedded directly inside non-computing products (household appliances, automotive control units, industrial machinery, IoT devices) to execute dedicated control routines.
Computer System Architecture & Operations
The Four Basic Computer Operations (Data Processing Cycle):
1. Input: The acquisition of raw data, user commands, or external physical measurements via peripheral input hardware.
2. Processing: The manipulation, mathematical transformation, and logical evaluation of input data, executed directly by the Central Processing Unit (CPU).
3. Output: The presentation of processed information back to human operators or downstream systems in an accessible format.
4. Storage: The non-volatile retention of digital data, compiled system instructions, and execution outputs on physical storage media for immediate or long-term retrieval.
Hardware Component Functional Architecture:
Input Unit: Peripherals designed to digitize human inputs or environmental signals (keyboards, computer mice, game joysticks, document scanners, webcams, microphones).
Central Processing Unit (CPU): The central execution chip containing:
Arithmetic Logic Unit (ALU): Executes binary mathematical calculations (, , , ) and boolean logic evaluations (, , ).
Control Unit (CU): Decodes software instructions, coordinates data movement across internal registers, and generates control timing signals.
Interface / Bus Unit: Manages communication buses linking the processor to system RAM and peripheral controllers.
Output Unit: Peripherals designed to render processed data into physical form (high-resolution display monitors, audio speakers, document printers, projectors, VR headsets).
Storage Unit: Hardware systems divided into:
Primary Memory: Fast, volatile system memory () that stores currently active program instructions and dynamic execution data, complemented by non-volatile system startup ROM.
Secondary Storage: High-capacity, non-volatile storage mediums (Hard Disk Drives [], Solid State Drives [], M.2 NVMe modules, Network-Attached Storage [], optical discs, USB flash drives, legacy floppy disks).
Data Processing & Information Transformation
Data vs. Information:
Raw Facts & Observations (Data): Unorganized, unstructured symbols, figures, readings, or raw values. On its own, raw data possesses minimal contextual utility.
Information Transformation: The processing stage where raw data inputs are sorted, filtered, calculated, structured, and contextualized into meaningful outputs useful for decision-making.
Storage & Retrieval: Processed information is maintained securely in structured database tables or file systems to ensure rapid, indexable retrieval and automated generation of analytical reports.
Software Categories & Network Communications
Software System Hierarchy:
System Software: Low-level programs that interface directly with physical hardware and manage low-level hardware resources:
Operating Systems (OS): Modern OS platforms (Windows 11, macOS Sonoma, Linux, Android 14, iOS) that coordinate memory allocation, process scheduling, file system access, and security policies.
Device Drivers: Specialized system software enabling operating systems to communicate with distinct hardware interfaces (graphics drivers, network interface drivers).
Firmware / BIOS / UEFI: Low-level code flashed onto non-volatile motherboard ROM chips to initialize system hardware during power-on boot procedures.
Utilities: System maintenance software tools (anti-virus utilities, disk managers).
Application Software: Higher-level software packages designed to enable end-users to perform specific tasks:
Word Processing: Microsoft Word, Google Docs, Apple Pages.
Spreadsheets: Microsoft Excel, Google Sheets, Apple Numbers.
Presentations: Microsoft PowerPoint, Keynote, Google Slides.
Communication: Slack, Zoom, Microsoft Teams, WhatsApp.
Graphics & Design: Adobe Photoshop, Adobe Illustrator, Adobe Premiere, Canva.
Web Browsers: Google Chrome, Mozilla Firefox, Apple Safari.
Communications & Network Layer:
Connects isolated computer hardware platforms across local and wide-area network infrastructures.
Global Connectivity: Integrates local networks with the global Internet and distributed cloud infrastructure through satellite links, fiber-optic lines, and wireless routers.
Protocol Standards: Utilizes standardized protocol stacks (e.g., Application layer [], Transport layer [], Network layer [], Link layer) to ensure reliable data packet exchange between client computers and remote servers.
Network Resource Sharing: Enables multiple networked workstations, laptops, and mobile devices to access shared network switches, database servers, and cloud resources.
Key Roles in Computing Systems
Software Engineers: Professional architects who design, plan, construct, and maintain large-scale, reliable software applications and computing systems.
Programmers: Developers who write, test, analyze, and debug executable source code across programming languages to power specific machine tasks.
System Analysts: Technical specialists who analyze organizational business requirements, evaluate IT infrastructures, and design tailored hardware and software solutions.
End Users: Non-technical operators or clients who interact with finished application software to perform daily workflows and task activities.
Academic References & Learning Resources
Core Textbooks:
Brookshear, J. G., & Brylow, D. (). Computer Science: An Overview (). Pearson.
Deitel, P., & Deitel, H. (). C++ How to Program (). Pearson.
Recommended Supplementary Books:
Mano, M. M., Kime, C. R., & Martin, T. (). Logic and Computer Design Fundamentals (). Pearson.
Null, L., & Lobur, J. (). The Essentials of Computer Organization and Architecture (). Jones & Bartlett Learning.
Silberschatz, A., Galvin, P. B., & Gagne, G. (). Operating System Concepts (). Wiley.
Savitch, W. (). Problem Solving with C++ (). Pearson.
Electronic & Online Learning Resources:
IEEE Computer Society Publications:
https://www.computer.orgACM Digital Library:
https://dl.acm.orgW3Schools Web Tutorials:
https://www.w3schools.comGeeksforGeeks Portal:
https://www.geeksforgeeks.orgC++ Reference Libraries:
cplusplus.com/cppreference.comCS50: Introduction to Computer Science (Harvard University)
Mahara-Tech (ITIDA):
https://maharatech.gov.eg