ITGS217 : Discrete Structures

Department

Department of Software Engineering

Academic Program

Bachelor in Software Engineering

Type

General

Credits

03

Prerequisite

ITMM122

Overview

This course include these topics: Number systems: natural numbers, radix r representation of integers, mathematical induction. Logic: propositional logic, predicate logic. Boolean algebra; sets; recursion; relations, and functions. Combinatory: counting principles; permutation groups. Graphs: graphs; diagraphs; trees; Euler's formula and coloring of graphs. Formal machines: automata and regular expressions; register machines: turning machines.

Intended learning outcomes

Knowledge and understanding

  • That the student be able to prove the statements of hypothetical logic and original logic
  • To familiarize the student with the technical terminology of relations and functions in original logic
  • That the student be able to prove the expressions that are used in the infinite induction
  • The student will be able to prove the statements using standard arithmetic
  • The student will be able to explain and prove preliminary results in graph theory
  • The student interprets the proofs automatically using the Proof Assistant

mental skills

  • This course provides a mathematical foundation for further study in computer science
  • Develop the skills necessary to solve practical problems
  • Give students a basic facility with logic and proof theory, counting, and graph theory
  • It provides the student of computer science with the solid mathematical foundations that he needs when studying advanced materials in computer science such as (data structures) and (computer algorithms),
  • For the student to think in a logical mathematical way

Practical and professional skills

  • That the student use the data of default logic and original logic in the design of software functions
  • That the student characterize the relationships and functions in original logic to help design systems
  • That the student use standard arithmetic to understand how to write software procedures
  • That the student diagnoses the evidence using an evidence assistant

General and transferable skills

  • Thinking in a logical mathematical way
  • Develop the skills needed to solve practical and programmatic problems
  • Preparing the student with the mathematical foundations he needs to study advanced subjects

Teaching and learning methods

  • Lectures
  • Case Study
  • exercises

Methods of assessments

  • Midterm exam = 40
  • Writing reports = 10
  • Final exam = 50

Course contents

  • Introduction
  • Logic
  • Sets
  • Sets
  • Functions
  • Sequences
  • Sequences
  • Mathematical Induction (I)
  • Mathematical Induction (II)
  • Counting
  • Counting
  • Relations
  • Graphs
  • Trees

Networks Programming (ITSE405)
Mobile Applications Development (ITSE304)
Cryptographic Algorithms and Protocols (ITSE306)
Information Retrieval Systems (ITSE307)
Mobile Operating System (ITSE308)
Programming Paradigms (ITSE309)
Principles of Games Developments (ITSE401)
Multimedia Systems (ITSE404)
Cloud Computing (ITSE406)
Web Services (ITSE407)
Web Applications Development (ITSE408)
Modelling of Complex Systems (ITSE303)
Data Mining/Business Intelligence (ITSE302)
Social Networking (ITSE409)
Logic Programming (ITSE301)
Mathematics I (ITMM111)
Physics (ITPH111)
Problem solving Technic (ITGS113)
Intro to Information Technology (ITGS111)
General English1 (ITEL111)
Arabic language 1 (ITAR111)
Mathematics II (ITMM122)
Arabic language 2 (ITAR122)
General English2 (ITEL122)
Introduction to Programming (ITGS122)
System Analysis and Design (ITGS124)
logic Circuit Design (ITGS126)
Introduction to Networking (ITGS215)
Introduction to Statistics (ITST211)
Object Oriented Programmin (ITGS211)
Introduction to Software Engineering (ITGS213)
Discrete Structures (ITGS217)
Numerical analysis (ITGS219)
Introduction to Databases (ITGS228)
Data Structure (ITGS220)
Foundation of Information Systems (ITGS222)
Introduction to Internet Programming (ITGS226)
Computer Architucture & Organization (ITGS223)
Information Security (ITGS224)
Design and Analysis algorithms (ITGS301)
IT Project Management (ITGS303)
Software Requirements Analysis (ITSE311)
Advanced Databases (ITSE312)
Scientific Writing (ITGS304)
Modern Programming Language (ITSE322)
Software Construction (ITSE321)
Operating System (ITGS302)
Software Design and Architecture (ITSE411)
Advanced Internet Programming (ITSE412)
Human Computer Interaction (ITSE413)
Software Engineering Ethics (ITSE414)
Software Quality Assurance and Testing (ITSE421)
Software Reuse and Component-Based Software Engineering (CBSE) (ITSE422)
Visual Programing (ITSE423)
software design models (ITSE424)