Computer science - Alexandria University

Download Report

Transcript Computer science - Alexandria University

Discrete Structure
CS 203
Introduction
Lecture 1
2
Computer science
Computer science or computing
science (abbreviated CS or CompSci) is
the scientific approach
to computation and its applications.
A computer scientist specializes in the
theory of computation and the design of
computers or computational systems.
3
CS Branches
Its subfields can be divided into a variety
of theoretical and practical disciplines.
computational complexity
theory (which explores the fundamental
properties of computational problems),
are highly abstract
4
CS Branches
computer graphics emphasize real-world
applications.
programming language theory considers various
approaches to the description of computation,
whilst the study of computer programming itself
investigates various aspects of the use
of programming language and complex systems.
Human-computer interaction considers the
challenges in making computers and computations
useful, usable, and universally
accessible to humans.
5
CS
Mobile Computing
Computer Architecture
Natural Language Processing
Robotics
Computer Networks
Software Engineering
Database Administration
Data Warehousing and Data Mining
Game Development
6
CS
Concurrent, Parallel, and Distributed
Systems
Communications and Security
Web Science
Artificial Intelligence
User Interface Engineering
Image Processing
Computer Aided Engineering
7
CS
Bioinformatics
Medical Informatics
Cryptography
Algorithm Analysis
Simulation and Modeling
Operating Systems
Performance Analysis
8
CS Career
Designing and implementing software.
Devising new ways to use
computers(application of computer
technology)
Database developer & admininnstrator
Game programmer
Graphic design
9
CS Career
System administrator
Software tester
Web design & developer &
administrator
10
Lecture 1
11
Lecture 1
12
Lecture 1
13
CS Courses
Programming (C & C+ & Java)
Graphics
AI
Networks
Database
Data structure
Operating system
Lecture 1
15
CS Courses
Theory of Computation
Digital circuits
Algorithms
Etc
100 ‫معفى من مادة س‬
16
‫‪CS Staff‬‬
‫د ياسر فؤاد‬
‫د احمد يونس‬
‫د اسالم ثروت‬
‫د احمد شريف‬
‫د خالد محمد‬
‫د اشرف سعيد‬
‫‪17‬‬
‫‪Lecture 1‬‬
‫‪CS Staff‬‬
‫مروة عابدين‬
‫نرمين محمود‬
‫يسر حسين‬
‫سعيد محمد‬
‫احمد صالح‬
‫شيماء المرسى‬
‫‪18‬‬
‫‪Lecture 1‬‬
‫‪CS Staff‬‬
‫نيللى‬
‫سارة‬
‫احمد عبد القادر‬
‫اية‬
‫هدير‬
‫ايمان‬
‫خالد‬
‫‪19‬‬
‫‪Lecture 1‬‬
‫‪CS labs‬‬
‫معملين مبنى أ الدور االول‬
‫معمل سى كاب‬
‫معمل د‬
‫‪20‬‬
‫‪Lecture 1‬‬
Class web page, e-mail
http://www.alexu.edu.eg/index.php/ar/2011-09-26-07-0634/25-staff-courses/computer-science/3791-discreet-cs203
Alexandria university site  ‫مواقع المقررات الدراسية‬
E-mail
[email protected]
Problems solved using
Discrete Math
How many secure passwords?
Probability of winning Texas Hold’em?
How can I encrypt a message?
Shortest paths between two cities using public
transportation?
How many steps required to sort 10,000 numbers? Is
this algorithm correct?
How to design a circuit that multiply two integers?
Course content
very approximately in temporal order
 Logic and Reasoning
 Sets, Functions, Sequences and Sums
 Number Theory, Algorithms, the Integers
 Induction and Recursion
 Counting, Relations
Graph Theory
Overall course context
First course in CS Major

Students will have taken CS102, CS201
Broad range of mathematical
background of entering students
Goals of the course


Formalism for later study
Learn how to do a mathematical argument
for CS
Course Overview
Discrete Structure is essentially that
branch of Computer science &
Mathematics.
As computers are discrete object
operating one jumpy, discontinuous
step at a time, Discrete Struct is the
right framework for describing
precisely Computer Science concepts.
25
Quick Overview
Discrete Sturcture helps provide…
…the
machinery necessary
for creating sophisticated
algorithms
…the
tools for analyzing their
efficiency
…the means of proving their validity
26
Graph Theory
Euler Paths and Circuits
In order to minimize
cost to the city, how
should weekly garbage
collection routes be
designed for Detroit’s
350,000 households?
Quick Overview - Topics
Logic and Sets



Make notions you’re already used to from
programming a little more rigorous (operators)
Fundamental to all mathematical disciplines
Useful for digital circuits, hardware design
Elementary Number Theory


Get to rediscover the old reliable number and
find out some surprising facts
Very useful in crypto-systems
28
Quick Overview - Topics
Proofs (especially induction)


If you want to debug a program beyond a
doubt, prove that it’s bug-free
Proof-theory has recently also been shown to be
useful in discovering bugs in pre-production
hardware
Counting and Combinatorics



Compute your odds of winning lottery
Important for predicting how long certain
computer program will take to finish
Useful in designing algorithms
29
Counting & Arranging
How secure are your
passwords?
If your password
consists of 3 letters and
3 numerals, how likely is
it that someone could
successfully guess the
configuration?
Coding Information
Identification Numbers
What mathematics
is involved in the
design of UPC
codes?
Grading
The overall grade will be based
upon

30%
 for homework or assignment, quiz, and lab

70% final
Extra credit questions will be
always available.
Quick Test...
Count the green squares…
you will have three seconds…
How many were there?