Principles of Computing – UFCFA3-30-1 Lecture-1 Instructor : Mazhar H Malik Email : mazhar@gcet.edu.om Global College of Engineering and Technology
Today’s Lecture Introduction Basic Concepts
Global College of Engineering and Technology Course Detail Principles of Computing Email :mazhar@gcet.edu.om Office: L4.4 Discussion: 3:30 to onward Global College of Engineering and Technology
Required Software Required Software Python Language (https://www.python.org/) RegexBuddy
Python
JFlap
Automation Simulator
Simulator For Regular Expressions
50% (Examination (2 hours)) Course Requirements Your grade for the course will be computed as follows: Identify final assessment component and element Components % weighting between components A and B (Standard modules only) A: B: 50% (Examination (2 hours)) 50% e-Assessment – short answers to questions in mathematics Written Assessment – a portfolio of tasks related to problems of computational theory To receive a passing grade for the course, you must: Pass the Final Exam Submit all coursework (both lab works and programming assignments)
Course Exams Component A 50% weighting Written Exam (2 Hours) Component B 50% weighting e-Assessment – short answers to questions in mathematics (50% weighting of component B) Written Assessment – a portfolio of tasks related to problems of computational theory (50% weighting of component B)
Text Book Rosen, K.H. (2003.). Discrete Mathematics and its Applications. 5th ed., New York, NY: McGraw Hill.
Text Book Hein J H (2010). Discrete Structures, Logic, and Computability, 4th ed. Jones and Bartlett
Global College of Engineering and Technology Recommended Book(s) Reference Book(s): Daniel I. A. Cohen, “Introduction to Computer Theory”, Second Edition. Nasir S.F.B and P.K. Srimani, “A Textbook on Automata Theory”, Cambridge University Press, India, 2008 Sikander H. Khiyal, “Theory of Automata and Computation”, National Book Foundation, 2004 John E. Hopcroft, Rajeev Motvani, and Jeffrey D. Ullman, “Introduction to Automata theory, Languages and Computation”, Second Edition, Addison- Wesley, New York, 2001. K.L.P. Mishra, N. Chandrasekaran, “Theory of Computer Science (Automata, Languages and Computation)”, Prentice-Hall of India, 2002. Global College of Engineering and Technology
Reference Books Implementations
Syllabus Outline Machines. How these abstract machines work. What limitations they have. How do apply them to real world applications. The significance of the Universal Turing Machines. Formal Languages: words, sentences, languages, grammars, productions. Links to computing models. How to formally define languages. How a compiler detects syntax errors. Algorithms: Classes of algorithms, search algorithms and sorting algorithms. Time and space complexity of algorithms. NP-complete problems. Recursion: Inductive definitions and recursive programs. Logic: Propositional and Predicate logic. Truth tables for basic logic operators. Inference methods. Mathematical Structures: Numbers. Sets. Functions. Relations. Matrices. Application of mathematical structure to computing. Enumerating (counting) these structures. Graph Theory: Theory and its applications as a modelling tool. Classical problems: finding the shortest route on a graph and the travelling salesman problem 14
Learning and Teaching 1. Understand simple models of computation and formulate small problems in terms of those models. 2. Define the syntax of formal languages in terms of productions. Define functions using recursion 3. Explain algorithmic behaviour of programs in appropriate formal terms and Big-O notation 4. Design and simulate abstract computation models: Finite Automata, Push Down Automata, and Turing Machines. 5. Appreciate the limitations of computers 6. Use mathematical language, notation and methods in the description and analysis of problems in appropriate areas of application within computing. 7. Begin to abstract general principles from studying particular problems and solutions 8. Recognise the fundamental role of foundation mathematics and discrete mathematical structures within computing. 15
Teaching Method (Interactive) Students are asked to write algorithm/Programs of problems Imagine/Calculate Possible output of problem/Piece of Code Discussions & Brainstorming Real World implications
Q & A (Discussion)
Basics (Set Theory)
Sets
Notations
Set-Builder Notation
Set Examples
Union
Intersection
Difference
Three sets
Three sets Examples
Universal Set
Universal Set
Complement
Global College of Engineering and Technology Questions? Global College of Engineering and Technology