Saturday, December 25, 2010

Physics: Waves and Acoustics Topics

-- Oscillations

* Simple harmonic motion

* Pendulums

* Damped Oscillations

* Forced Oscillations

-- Waves

* Traveling Waves

* Wave Speed on a Stretched String

* Energy and Power of a Wave

* Interference of Waves

* Standing Waves and Resonance

-- Sound

* Sound Waves

* Speed of Sound

* Sound Intensity

* Resonance

* Doppler Effect

Tuesday, December 14, 2010

Computer Majors/Degrees



Computer Science - علوم الحاسب

keywords: Mathematics, Algorithms, Software, Programming, Data, Security

Computer Engineering - هندسة الحاسب

keywords: Hardware, Networks, Robotics, Embedded Systems, Software

Information Systems - نظم المعلومات

keywords: Business Management, System Analysis, Data, Software

Information Technology - تقنية المعلومات

keywords: Support, Maintenance, Hardware

Software Engineering - هندسة البرمجيات

keywords: Software, Analysis, Development, Testing, Quality

Sunday, November 28, 2010

Computer Science: Artificial Intelligence Topics

 

- Intelligent Agents

*Agents and Environments

*Concept of Rationality

*Nature of Environments

*Structure of Agents

- Problem-Solving

*Solving problems by Searching

*Games

*Constraint Satisfaction Problems

- Knowledge, reasoning and planning

*Logical Agents

*First-Order Logic

*Planning Approaches

*Knowledge Representation

- Uncertain knowledge and reasoning

*Quantifying Uncertainly

*Probabilistic Reasoning

*Making Simple Decisions

*Making Compex Decisions

Learning

*Learning from Examples

*knowledge in Learning

*Learning Probabilistic Models

*Reinforcement Learning

- Communication, perceiving and acting

*Natural Language Processing

*Natural Language for Communication

*Perception

*Robotics

Tuesday, November 16, 2010

My Key Skills 2010

Concepts

Algorithms, Data structures, Object Oriented Programming (OOP)

Languages

C, C++, C#.Net, Java

Data Access

ADO.NET, LINQ

Desktop

Windows Form, WPF

Web Technologies

HTML, XHTML, DHTML, DOM, CSS, JavaScript, jQuery, Prototype, AJAX, JSON, XML, ASP.NET, Web service, Silverlight, SharePoint, XAML.

Web Servers

IIS, Apache

Games

XNA

DB

MS SQL Server 2005; 2008, Oracle 10g; 11g

IDE

Visual Studio 2008; 2010

Analysis/Plan

MS Office Visio, UML, WWF

Development Methodologies

Waterfall, Agile, Scrum

OS

Windows Vista, Windows 7, UNIX

Tuesday, May 25, 2010

Physics: Optics Topics

 

** Geometrical Optics

*Propagation of Light

- Reflection 

- Refraction

- Dispersion

*Mirrors and Lenses

*Eye and Image formation

*Camera and Image formation

*Microscopes and Telescopes

** Physical Optics

*Interference

*Diffraction

*Polarization

*The Laser

*Holography

*Fiber Optics

Monday, May 10, 2010

Physics: Thermodynamics Topics

- Temperature and Heat

*Temperature and Thermal Equilibrium

*Thermometers and Temperature Scales

*Thermal Expansion

*Heat Transfer, Specific Heat, and Calorimetry

*Phase Changes

*Mechanisms of Heat Transfer

- Kinetic Theory of Gases

*Molecular Model of an Ideal Gas

*Pressure and Temperature

*Heat Capacity and Equipartition of Energy

*Distribution of Molecular Speeds

- First Law of Thermodynamics

        *Thermodynamic Systems

*Thermodynamic Processes

*Work, Heat and Internal Energy

- Second Law of Thermodynamics

*Heat Engines

*Entropy

Friday, April 30, 2010

Computer Science: Algorithms Topics

- Mathematical Background

*Summations

*Sets,Relations and Functions

*Graphs and Trees

*Counting and Probability

*Matrices

- The Role of Algorithms in Computing

*Algorithms as a technology

*Analyzing algorithms

*Designing algorithms

- Recurrences

- Probabilistic Analysis and Randomized Algorithms

- Sorting

*Insertion Sort

*Merge Sort

*Heap Sort

*Quick Sort

- Data Structures Algorithms

*Searching

*Hashing

- Dynamic Programming

- Greedy Algorithms

        - Graph Algorithms

- Matrix Operations

- Linear Programming

- Number-Theoretic Algorithms

- String Matching Algorithms

- Computational Geometry

- Approximation Algorithms

Tuesday, April 6, 2010

ITI Software Engineering Program


Foundation
  • Algorithms and Data structures
  • Computer Networks
  • Operating Systems
  • Database Fundamentals
  • Object Oriented Programming
  • Design patterns
  • Problem Solving Techniques
  • Software Engineering 
  • Introduction to Web Technologies
  • C and C++ Programming Language
Focus
  • HTML,XHTML and DHTML
  • CSS
  • JavaScript and JQuery
  • AJAX and JSON
  • XML
  • C# Programming Language
  • Web Services
  • .NET Frameworks (WPF, WWF, WCF,..)
  • ASP.NET and MVC
  • ADO.NET
  • LINQ
  • SQL Server TSQL
  • Oracle PL/SQL
  • Crystal reports
  • Java Programming Language
  • Microsoft Sharepoint
  • Unified Modeling Language (UML)
  • Windows Operating System
  • Unix Operating System
  • Agile
Soft skills
  • Communication skills
  • Presentation skills
  • Organizational behaviors
  • Problem Solving
  • Leadership and motivation
  • Critical Thinking
  • Teamwork skills
  • Project Management
  • Marketing
  • Interview and CV Skills
Languages
  • English

Monday, March 29, 2010

File Structures Topics

 ➡️Introduction to File Structures

    ➤ History of File Structure Design

    ➤ Models for Accessing Files

        ✔ Sequentailly

        ✔ Tree Structures

        ✔ Direct Access

➡️Fundamentals File Processing Operations

    ➤ Physical files and Logical files

    ➤ Operations of file Systems

        ✔ Openning file

        ✔ Creating file

        ✔ Closing file

        ✔ Reading and Writing

        ✔ Seeking

➡️Secondary Storage and System Softwares

    ➤ Tapes and Disks

    ➤ Organization of Disks

        ✔ Platters

        ✔ Tracks

        ✔ Sectors

        ✔ Clusters

        ✔ Blocks/Sub-Blocks

     ➤ Optical Disks

     ➤ Buffer Management

➡️Fundamentals File Structure Concepts

    ➤ Fields and Record organization

    ➤ Using classes to manipulate buffers

    ➤ Using inheritance for record buffer classes

➡️Managing Files of Records

➡️Organizing Files for Performance

    ➤ Data Compression

    ➤ Fragmentation

➡️Indexing

➡️Hashing

➡️Unix File System

➡️File I/O Using Object oriented with C++


Reference Book: File structures an object oriented approach with C++

Computer Science: Databases Systems Main Topics


*Introduction to Database Systems

*Conceptual Data Modeling

*Database Programming

*Relational Data Model and SQL

*Object-Relational Databases 

*Database Design Theory and Normalization

*File Structures and Physical Database Design

*Query Processing and Optimization

*Transaction processing

*Concurrency control

*Recovery System

*Distributed Databases

*Big Data

*Data Mining

*Data Warehouse

*Database Security

Tuesday, March 23, 2010

Paradigm of Computer science Courses



Paradigm of Computer Science Courses

  • Principles of Computer Science
  • Fundamentals of Programming Languages
  • Scientific Computation I & II
  • Theoretical Foundation of Computer Science
  • Formal Language and Automata
  • Computer Systems and Architecture
  • Microprocessors and Communication Circuits
  • Operating Systems
  • File Structures
  • Computer Networks
  • Data Communications
  • Compilers
  • Systems Simulations
  • Algorithms
  • Data Structure and Databases
  • Data Mining
  • Artificial Intelligence
  • Distributed Computing
  • Object-Oriented Programming and C++

Computer Fundamentals

  • Applications
  • Generations
  • Types and Classification
  • Components
  • CPU (Central Processing Unit)
  • Input Devices
  • Output Devices
  • Memory and Memory Units
  • Motherboard
  • Ports
  • Operating System
  • Hardware
  • Software
  • Number System
  • Data and Information
  • Networking
  • Internet and Intranet
  • Programming Languages
  • Multimedia
  • Security

Fundamentals of Programming languages

  • Inductive Definitions
  • Levels of Syntax
  • Binding and Scope
  • Static and Dynamic Semantics
  • Functional Core Language
  • Recursion
  • Iteration
  • Fixed Points
  • Products and Records
  • Sums and Variants
  • Polymorphism
  • Data Abstraction
  • Recursive Types
  • Subtyping
  • Programming Languages; BASIC, Pascal

Scientific Computation

  • Computational Problem solving
  • Programming Languages; FORTRAN, C
  • Numerical Software Packages
  • Methods of Random number generators
  • Interval Computation
  • Some problems in Computational physics
  • Some problems in Computational Chemistry
  • Soft Computing
  • Neural Networks

Theoretical Foundations of CS

  • Mathematical Background
  • Automata and grammars
  • Solvable and unsolvable problems
  • The Complexity of computing
  • Formal Semantics
  • Proving program properties
  • Nondeterminism and parallel computing

Formal Language and Automata

  • Mathematical preliminaries
  • Proof techniques
  • Finite Automata and Regular Languages
  • Context-Free Languages
  • Turing Machines and the Church-Turing Thesis
  • Decidable and Undecidable Languages
  • Programming Languages; Prolog

Computer Architecture

  • Design of a basic computer
  • Design concepts of Processors
  • Design of channels and controllers
  • Interconnections
  • Memory structures and design
  • Memory management
  • Cache memory systems
  • Firmware design
  • Reliability
  • Testing and fault tolerance
  • CISC computers
  • RISC computers
  • Computer interfacing
  • Design of network interface cards
  • Examples of computer architecture

Operating Systems

  • Types of operating systems
  • Operating Systems structures
  • System components and services
  • Virtual machines
  • Process management
  • CPU scheduling
  • Scheduling concepts
  • performance criteria
  • Scheduling algorithm
  • Memory organization and management
  • Secondary storage management
  • Disk scheduling
  • Virtual memory

File Organization and processing

  • File design
  • File manipulation
  • Blocking and buffering
  • Single and double buffering
  • Types of storage devices
  • Space and time calculation
  • Sequential file
  • Relative file
  • Indexed sequential file
  • Multiple key file
  • Direct access file
  • External sort/merge algorithms
  • File systems-disk scheduling

Computer Networks

  • Computer Network Types
  • Network LAN Technologies
  • Computer Network Topologies
  • Computer Network Models
  • Computer Network Security
  • Physical Layer Introduction
  • Digital Transmission
  • Analog Transmission
  • Transmission Media
  • Wireless Transmission
  • Multiplexing
  • Network Switching
  • Data-link Layer Introduction
  • Error Detection & Correction
  • Data-link Control & Protocols
  • Network Layer Introduction
  • Network Addressing
  • Network Layer Routing
  • Internetworking
  • Network Layer Protocols
  • Transport Layer Introduction
  • Transmission Control Protocol
  • User Datagram Protocol
  • Application Layer Introduction
  • Client Server Model
  • Application Protocols
  • Network Services

Data Communications

  • Concepts and Terminology
  • Types of data
  • Types of signals
  • Data communication model
  • Data Transmission techniques
  • Information theory
  • Information sources
  • Information measure
  • Data encoding and decoding
  • Transmission media types and characteristics
  • Transmission impairments
  • Analog and digital transmission
  • Multiplexing techniques

Compilers

  • Architecture
  • Phases of Compiler
  • Lexical Analysis
  • Regular Expressions
  • Finite Automata
  • Finite Automata
  • Types of Parsing
  • Top-Down Parser
  • Bottom-Up Parser
  • Error Recovery
  • Semantic Analysis
  • Run-Time Environment
  • Symbol Table
  • Intermediate Code Generation
  • Code Generation
  • Code Optimization

Simulations

  • Concepts & Classification
  • Verification & Validation
  • Discrete System Simulation
  • Continuous Simulation
  • Monte Carlo Simulation
  • Modelling & Simulation - Database

Algorithms

  • The Role of Algorithms in Computing
  • Insertion sort
  • Analyzing and Designing algorithms
  • Growth of Functions
  • Recurrences
  • Probabilistic Analysis and Randomized Algorithms
  • Sorting and Order Statistics
  • Algorithms and Data Structures
  • Advanced Design and Analysis Techniques
  • Greedy Algorithms
  • Advanced Data Structures
  • Graph Algorithms

Data structures

  • Software Engineering Principles
  • Data design and Implementation
  • Abstract Data Type (ADT)
  • Unsorted List and Sorted List
  • Stack and Queue
  • Linked Structures
  • Linked Lists
  • Recursion
  • Binary Search Trees
  • Priority Queues
  • Heaps, Graphs and Sets
  • Sorting and searching algorithms

Databases

  • Introduction to DB System
  • Operational Data
  • Data independence
  • Relational System
  • The architecture of DB System
  • Relational Algebra and Calculus
  • Recovery and concurrence
  • security and integrity
  • SQL Language

Data Mining

  • Data Mining Overview
  • Data Warehouse
  • Data Preprocessing
  • Classification
  • Clustering
  • Prediction
  • Logistic Regression
  • Association Rules

Distributed Computing

  • Parallel and Distributed Architecture
  • Parallel Algorithm design
  • Message-passing Programming
  • Sharing-memory Programming
  • Performance analysis
  • Applications

Object Oriented Programming

  • Structured Programming
  • Concepts of object-oriented programming
  • Classes and Objects
  • Interfaces
  • Dynamic dispatch/message passing
  • Class-based versus prototype-based
  • Encapsulation
  • Composition, inheritance, and delegation
  • Polymorphism
  • Open recursion
  • Programming Languages; C++

Artificial Intelligence

  • Intelligent Systems
  • Research Areas
  • Agents & Environments
  • Popular Search Algorithms
  • Fuzzy Logic Systems
  • Natural Language Processing
  • Expert Systems
  • Robotics
  • Neural Networks
  • Issues and Terminology

Computer Security

  • Elements and Terminologies
  • Layers
  • Securing OS
  • Antiviruses and Malwares
  • Encryption
  • Data Backup
  • Disaster Recovery
  • Policies and Checklist
  • Network Security
  • Wireless Security
  • Internet Security
  • Software Security
  • Database Security
  • Security Testing

Cryptography

  • Basic of Modern Cryptography
  • Cryptographic Tasks
  • Public key Cryptography
  • Ciphers and Hashes
  • Cryptanalysis
  • Cryptographic Software

Programming Languages

  • BASIC Programming Language (Fundamentals of Programming Languages Course)
  • Pascal Programming Language (Fundamentals of Programming Languages Course)
  • Fortran Programming Language (Scientific Computation Course)
  • C Programming Language (Scientific Computation Course)
  • Prolog Programming Language (Formal Language and Automata Course)
  • C++ Programming Language (OOP Course)