Description:

The Basic Mathematics for Computing module provides students with fundamental mathematical concepts and techniques essential for understanding and solving problems in computer science and information technology. This module serves as a foundation for computational thinking, algorithm development, and data analysis, equipping students with the mathematical tools required for programming, data structures, artificial intelligence, and other computing-related disciplines.

Students will explore key areas such as logic, set theory, functions, matrices, probability, number systems, and discrete mathematics, all of which play a critical role in the design and analysis of computer systems. The module also emphasizes practical applications, including binary arithmetic, Boolean algebra, and algorithmic problem-solving, which are crucial in areas like software development, database management, and networking.

Through lectures, problem-solving exercises, and hands-on applications, students will develop a strong mathematical foundation that will enhance their ability to write efficient algorithms, analyze data structures, and optimize computing processes.

Key Topics Covered:

  • Number Systems – Binary, octal, decimal, and hexadecimal conversions.

  • Set Theory and Logic – Boolean logic, logical operators, and their applications in computing.

  • Functions and Relations – Understanding mappings, recursion, and mathematical functions relevant to programming.

  • Matrices and Linear Algebra – Applications in graphics, cryptography, and machine learning.

  • Combinatorics and Probability – Counting principles, permutations, combinations, and their role in computing.

  • Graph Theory – Fundamental concepts used in networking, database structures, and AI.

  • Discrete Mathematics – Sequences, series, and algorithmic problem-solving.

By the end of this module, students will have a solid mathematical foundation for computing applications, allowing them to better understand programming logic, algorithms, and computational models, thereby preparing them for more advanced computing courses and practical industry applications.

Course code: CSE 2302
Level: 7,Trim 3
September Intake 2024/2025

Lecturer: Mr. MUKURU SSESSAZI ALFRED

Tel: 0786679403

Eaur.ass.ar@gmail.com

Learning Objectives:

i. Understand logical reasoning and problem-solving strategies.
ii. Understand propositional and predicate logic.
iii. Apply abstraction and generalization to mathematical problems.
iv. Apply logical operations (AND, OR, NOT, XOR, NAND, NOR).
v. Work with truth tables and logical equivalences.
vi. Understand implications, quantifiers, and De Morgan’s laws.
vii. Understand basic set operations (union, intersection, difference, complement).
viii. Apply concepts of subsets, power sets, and Cartesian products.
ix. Work with Venn diagrams and set identities.
x. Understand graphs, trees, and networks.
xi. Work with basic graph properties (vertices, edges, degrees).
xii. Apply graph traversal algorithms (DFS, BFS).
xiii. Understand shortest path algorithms (Dijkstra, Floyd-Warshall).

Learning outcomes:
i. Apply logical thinking and reasoning to solve computational problems.
ii. Define and manipulate sets, subsets, and operations (union, intersection, difference).
iii. Understand functions, relations, and mappings in a computational context.
iv. Convert between binary, decimal, octal, and hexadecimal number systems.
v. Apply modular arithmetic in cryptography and hashing functions.
vi. Use Boolean algebra to simplify logical expressions.
vii. Apply logic gates and truth tables in designing digital circuits.
viii. Analyze graphs and trees for computer science applications like networking and algorithms.
ix. Apply traversal algorithms (BFS, DFS) and shortest path algorithms (Dijkstra, Floyd-Warshall).
x. Apply mathematical concepts in programming, cryptography, data structures, and artificial intelligence.