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?