Faculty of Computers and Artificial Intelligence
Cairo University
HU111: Technical Report Writing
Dr. Ihab El-Khodary
On Mathematical Structures in Computer Science
Project ID: 117
(The Third Phase)
Team Members and IDs:
Muhammad Fouad Sayed Muhammad (Leader) 20240830
Marwan Muhammad Hassan Ibrahim 20240735
Muhammad Ibrahim Muhammad El-shafey 20242426
Muhammad Talaat Sayed Gouda 20240734
Omar Abd El-Monem Shaaban El-badry 20240376
Seif El-din Hatem Mahmoud Abdelmaqsoud 20242424
Youssef Ihab Ahmed Muhammad 20242428
Youssef Muhammad Ahmed Muhammad 20242412
1
The Outline
I. Introduction
A. Overview.
B. Important Notation and Definitions.
II. Set Theory
A. Mathematical Argument
1. Proof by Mathematical Arguments.
2. Contradiction Arguments.
3. Induction Arguments.
B. Definition of A Set
1. Naive Definition.
2. Russell’s Paradox.
3. Avoiding Russell’s Paradox.
4. Zermelo-Fraenkel Set Theory.
C. Operations on A Set
1. Basic Operations.
2. Cartesian Product.
3. Power of a Set.
4. Representation of Sets using Venn Diagrams
D. Set Theory in Computer Science
1. Formal Representation of Solutions.
2. SETL.
III. Number Theory
A. Elementary Introduction
1. Basic Definitions
a. Fundamental Theorem of Arithmetic
b. Modular Arithmetic.
c. Congruence.
2. Number Systems.
a. Positional systems: Binary, decimal, and hexadecimal.
b. b. Base conversions and their mathematical significance.
B. Theoretical Foundations
1. Division Algorithm.
2. Euclidean Algorithm.
3. Fermat’s Little Theorem.
4. Chinese Remainder Theorem (CRT).
5. Wilson’s Theorem.
2
6. Linear Diophantine Equations
C. Applications in Computer Science
1. Cryptography.
2. Error Detection and Correction.
3. Data Representation
a. Importance of binary and hexadecimal systems in
computer architecture.
b. Optimization techniques in storage and processing.
IV. Linear Algebra
A. Key Concepts
1. Matrices and vectors.
2. Systems of linear equations.
3. Vector spaces and subspaces.
4. Projections and orthogonality
B. Operations and Properties
1. Matrix addition, multiplication, and inversion of matrices.
2. Determinants and rank.
C. Linear Algebra Applications in Computer Science
1. Matrix Computations
a. Use of Gaussian elimination and LU decomposition to
system equations for algorithms.
b. importance of matrix operations in simulations and
graphics.
2. Projections and Vector Spaces
a. Representing data in high-dimensional space.
b. Key for compression algorithms: Projections for
redundancy reduction.
V. Graph Theory
A. Basic Concepts
1. Definitions
a. Graphs.
b. Vertices.
c. Edges.
d. Paths.
e. Cycles.
B. Types of Graphs
1. Directed vs undirected graphs.
2. Weighted graphs.
3. Trees.
3
4. Bipartite graphs.
C. Applications in Computer Science
1. Network design.
2. Social networks.
3. Depth-first search (DFS).
4. Breadth-first search (BFS).
5. Dijkstra's algorithm.
VI. Conclusion.