*Software Engineering Management
**Initiation and Scope Definition
**Software Project Planning
**Software Project Enactment
**Software Review and Evaluation
**Software Closure
**Software Engineering Measurement
**Software Configuration Management
*Software Engineering Management
**Initiation and Scope Definition
**Software Project Planning
**Software Project Enactment
**Software Review and Evaluation
**Software Closure
**Software Engineering Measurement
**Software Configuration Management
- Software Construction
**Software Construction Fundamentals
**Managing Construction
**Construction Design
**Construction Languages
**Construction Coding
**Construction Testing
**Reuse in Construction
**Construction Quality
**Integration
**Cross-Platform Development and Migration
- Software Architecture
**Software Architecture Fundamentals
**Software Architecture Description
**Software Architecture Process
**Software Architecture Evaluation
- Software Design
**Software Design Fundamentals
**Software Design Processes
**Software Design Qualities
**Recording Software Design
**Software Design Strategies and Methods
**Software Design Analysis and Evaluations
- Software Requirements Engineering
**Software Requirements Fundamentals
**Requirements Elicitation
**Requirements Analysis
**Requirements Specification
**Requirements Validation
**Requirements Management
- Introduction to Software Engineering
**Mathematical Foundation
**Computing Foundation
**Engineering Foundation
**Software Engineering Process
**Software Engineering Models and Methods
- Software Testing
**Software Testing Fundamentals
**Test Levels
**Test Techniques
**Test Process
**Test-Related Measures
- Software Quality
**Software Quality Fundamentals
**Software Quality Management Process
**Software Quality Assurance Process
“The Search” contains structured information on study courses, technical skills, and technical tools across the following areas of specialization:
§ Basic Sciences of the Specialization: Mathematics and Physics
§ Major Specialization: Computer Science
§ Minor Specialization: Software Engineering
§ Professional Specializations: Software Development and Software Quality Engineering
“The Search” versions reflect the evolution of how study courses, technical skills, and technical tools are organized.
“The Search” study course versions demonstrate the progressive structuring of Mathematics, Physics, Computer Science, and Software Engineering curricula
§ “The Search” v0.9 includes the study courses I completed during my undergraduate studies.
§ In subsequent versions (v0.9.1, v0.9.2, up to v1.0), the study courses were refined to be more structured, comprehensive, and mature.
§ These modifications include removing courses that are covered within more comprehensive courses, as well as adding new courses in line with academic and specialization advancements.
§ The Mathematics and Physics study courses were revised to focus exclusively on topics that directly support the fields of Computer Science and Software Engineering.
Evolution of Organizing Mathematics Courses
Evolution of Organizing Physics Courses
Evolution of Organizing Software Engineering Courses
💡The Search
“The Search” contains mindmaps, infographics, books, and reference materials for study courses, technical skills, and technical tools across my areas of specialization. [Computer Science, Software Engineering, Software Development, Software Quality Engineering]
📊Areas of Specialization Overview
Basic Sciences of the Specialization: Mathematics and Physics.
Major Specialization: Computer Science.
Minor Specialization: Software Engineering.
Professional Specializations: Software Development, Software Quality Engineering.
Academic Materials and Continuing Education Studies for Basic Sciences, Major Specialization, and Minor Specialization. [Mathematics courses, Physics courses, Computer Science courses, Software Engineering courses]
Keys: Study Courses, Academic Materials, University Studies,Graduate Studies, Postgraduate Studies, Continuing Education Studies, Books, MOOCs, Math, Physics, Computer Science, Software Engineering.
References for Technical skills for the Professional Specializations that include Professional Certifications. [General skills, Software Development skills, Software Quality Engineering skills]
Keys: Technical Skills, Work Experiences, Software Industry, Software Engineering Activities, Docs, Books, Syllabi, Software Development, Cloud Development, Software Quality Engineering, Quality Control, Software Testing, Business Domain Testing, Technical Testing, Test Automation,Continuous Integration and Delivery.
References for Tools and Technologies used with Technical skills to accomplish tasks in the professional Specializations. [Coding Editors and IDEs, Shell Scripting, Source Control, ALM, CI/CD, Containers, Server-side Languages, Back-end Frameworks, APIs, Web Technologies, Client-side Languages, Front-end Frameworks, Databases, Cloud Platforms, Unit Testing, API Testing, Performance Testing, Security Testing, Test Automation]
Keys: Technical Work Tools, Technologies,Programming Languages, Frameworks, Systems, Databases, APIs, Web Technologies, Containers, Platforms, Instruments, Docs, Books, Server-side, Client-side, Back-end, Front-end, Testing, CI/CD.
- Evolution of Computing
*Layers of Computing
*Hardware, Software and Network communication
*Web Based Technology
*Distributed Computing
*Hardware Virtualization
*Service Oriented Architecture
- Cloud Computing Foundations
*Cloud Computing Architecture
*Cloud Service Models
*Cloud Deployment Models
*Cloud Computing Services
- Resource Virtualization in Cloud Computing
- Resource Pooling, Sharing and Provisioning
- Scaling in the Cloud
- Capacity Planning in Cloud Computing
- Load Balancing in Cloud Computing
- Storage in Cloud
- Database in Cloud
- Cloud Security
- Cloud Management
➡️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++
*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
- The Need for Security
- Legal,Ethical,and Professional Issues
- Planning for Security
- Risk Management
- Security Technology
- Cryptography
- Implementing Information Security
- Security and Personnel
- Information Security Maintenance
- Operations Security
- Physical Security
- Network Security
- Operating System Security
- Application Security
- Concepts
*Programming Languages Categories
*Syntax and Semantics
*Lexical and Syntax Analysis
*Name, Binding and Scopes
*Data Types
*Expressions
*Control Structures
*Concurrency
*Exception Handling
- (BASIC) Programming Language
*Basic Commands
*Expressions, Numbers and Variables
*Data manipulation
*Program flow control
*Input and output
*Mathematical functions
*Functions and Subroutines
- (FORTRAN) Procedural Programming Language
*Code structure
*Variables and Expressions
*Arrays and Strings
*Operators and flow control
*Organising code structure
*Procedures and Modules
- (ProLog) Logic Programming Language
*Prolog atoms, Numbers variables and terms
*Facts, Rules, and Queries
*Unification and Proof Search
*Recursion
*Lists
*Arithmetic
*Definite Clause Grammars
*Cuts and Negation
*Files
- (C++) Object-Oriented Programming Language
*C++ Programming Basics
*Loops and Decisions
*Structures
*Pointers
*Functions
*Objects and Classes
*Data Abstraction
*Data Encapsulation
*Arrays and Strings
*Operator Overloading
*Inheritance
*Polymorphism
*Virtual Functions
*Streams and Files
*Templates
*Exceptions
*The Standard Template Library
*Object-Oriented Software Development
** Computer Networks Introduction
*Network Hardware
*Network Software
*Reference Models
** The Physical Layer
*Guided Transmission Media
*Wirless Transmission
*Communication Satellites
*Digital Modulation and Multiplexing
*Public switched telephone network
*Mobile telephone system
*Cable television
** The Data Link Layer
*Data Link Layer Design Issues
*Error detection and Correction
*Data Link protocols
** Medium Access control Sub-Layer
*Channel Allocation problem
*Multiple access protocols
*Ethernet
*Wireless LANs
*Broadband Wireless
*Bluetooth
*RFID
*Data link Layer switching
** The Network Layer
*Network Layer Design Issues
*Routing Algorithms
*Congestion control Algorithms
*Quality of service
*Internetworking
*The Network layer in the Internet
** The Transport Layer
*The Transport service
*Transport protocols
*Congestion control
*Internet transport protocols
*Performance issues
*Delay-Tolerant Networking
** The Application Layer
*Domain Name system (DNS)
*Electronic Mail
*World Wide Web (WWW)
*Streaming Audio and Video
*Content Delivery
** Data Communication
*Data Transmission
*Transmission Media
*Signal Encoding Techniques
*Digital Data Communication Techniques
*Data Link Control Protocols
*Multiplexing
*Spread Spectrum
** Wide Area Networks (WANs)
*Circuit Switching and Packet Switching
*Asynchronous Transfer Mode
*Routing in Switched Networks
*Congestion Control in Data Networks
*Cellular Wireless Networks
** Local Area Networks (LANs)
*Local Area Network Overview
*High-Speed LANs
*Wireless LANs
** Internet
*Internetwork Protocols
*Internetwork Operation
*Transport Protocols
*Internet Applications
** Network Security
*Cryptography
*Symmetric-Key Algorithms
*Public-Key Algorithms
*Digital Signature
*Communication Security
*Authentication protocols
*Email Security
*Web Security
*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
Introduction to Data Science
*Data and Data science
*Data and datasets
*Collecting and preparing
Analyzing data using Statistics
*Discriptive statistics
*Statistical measurment
*Probability distributions
*Inferential statistics
*Regression Analysis
Predicting and Modeling using Data
*Time series and Forecasting
*Decision-Making using Machine Learning
*Deep learning and AI
Maintaining professional and ethical Data Science practice
*Ethics throughout data science cycle
*Visualizing data
*Reporting results
Using Technology for Data Science
*Spreadsheets for Data Science
*Python programming for Data science
*R programming for Data Science
- Probability and Random Variables
*Events and their probabilities
*Rules of Probability
*Combinatorics
*Conditional probability and independence
- Discrete Random Variables and Their Distributions
- Continuous Distributions
- Stochastic Processes
- Queuing Systems
- Introduction to Statistics
*Population and sample,parameters and statistics
*Simple descriptive statistics
*Graphical statistics
- Statistical Inference
*Parameter estimation
*Confidence intervals
*Unknown standard deviation
*Hypothesis testing
*Inference about variances
*Chi-square tests
*Nonparametric statistics
*Bootstrap
*Bayesian inference
- Regression
*Least squares estimation
*Analysis of variance,prediction,and further inference
*Multivariate regression
*Model building