University Portfolio
Hybrid portfolio for 16 course projects: 5 standout repositories published separately and 11 supporting projects grouped in one umbrella archive.
Repository Overview
This area follows a hybrid publishing model. Five standout projects are split into their own repositories for visibility, while eleven supporting projects stay together in the umbrella repo to preserve full academic progression.
5 Standout Repositories
- ECommerce Website: github.com/AliShah1029384756/ecommerce-website
- Chess Game: github.com/AliShah1029384756/chess-game
- Compiler Project: github.com/AliShah1029384756/compiler-project
- P2P Communication System: github.com/AliShah1029384756/p2p-communication-system
- Bus Schedule Optimizer: github.com/AliShah1029384756/bus-schedule-optimizer
Overview
This portfolio represents the core computer science coursework at FAST University (BSCS program, 8 semesters). Each project demonstrates practical application of fundamental CS concepts: systems programming, network protocols, relational databases, compiler design, algorithms, data structures, and software architecture.
Project Index
- Systems and OOP: Banking System, Inventory Management System, Student Management System, Discrete Project
- Databases and Enterprise Apps: ECommerce Database, Retail Management System
- Full-Stack Web: ECommerce Website, P2P Communication System
- Networking and Real-Time: Computer Networks, Chess Game
- Compiler and Low-Level: Compiler Project, Snake Game
- Algorithms and Optimization: Operations Research, Bus Schedule Optimizer, Probability Semester Project
- AI / Documentation: Artificial Intelligence project
These 11 supporting projects are intentionally highlighted as different learning phases and not "lesser" work. They show breadth across C, C++, Python, SQL, C#, JavaScript, and Assembly with domain diversity from systems to optimization.
Architecture Decisions
Problem
Single-format showcases failed to represent both excellence and learning depth.
Constraints
Need to preserve chronology, breadth, and recruiter readability together.
Solution
Hybrid portfolio model: 5 standout repos + 11 supporting projects in umbrella archive.
Trade-offs
Umbrella structure reduces per-project spotlight but keeps full academic progression intact.
Outcome
Portfolio now communicates both top performance and sustained multi-domain growth.
Course Projects by Category
Systems & Programming
- Operating Systems: Process scheduling, memory management, file systems simulation
- Systems Programming: Low-level C programs, system calls, process control, concurrency
- Assembly Language: x86-64 assembly, inline assembly in C, performance optimization
Networking & Communications
- Computer Networks: Socket programming (TCP/UDP), packet analysis, DNS resolution
- Network Protocols: Implementing custom protocols, network simulators
- Distributed Systems: RPC frameworks, distributed consensus algorithms
Databases & Data Management
- Database Design: Schema design, normalization, query optimization
- SQL & Query Engines: Complex queries, stored procedures, indexing strategies
- Data Structures: B+ trees, hash tables, custom index implementations
Compilers & Languages
- Compiler Design: Lexical analysis, parsing, semantic analysis, code generation
- Language Implementation: Building interpreters and small language compilers
- Formal Languages: Regular expressions, context-free grammars, pushdown automata
Algorithms & Data Structures
- Sorting & Searching: Implementation and analysis of various algorithms
- Graph Algorithms: Shortest paths, minimum spanning trees, network flows
- Dynamic Programming: Optimization problems, memoization, bottom-up approaches
- Competitive Programming: Algorithm challenges, optimization for large datasets
Technology Stack
Programming Languages
C (24.93%) - Systems programming, low-level optimization C++ (6.60%) - Object-oriented design, STL usage Java - Data structures, multi-threaded programming Python - Algorithm prototyping, automation scripts SQL - Database queries and optimization
Tools & Techniques
GCC/Clang compilers, GDB debugger, Valgrind for memory profiling, Git for version control, Make for build automation
Learning Goals & Outcomes
- Master fundamental CS concepts through hands-on implementation
- Understand tradeoffs between different algorithms and data structures
- Build systems thinking and architectural design skills
- Learn to analyze complexity (time, space) and optimize for performance
- Practice debugging and performance profiling techniques
- Develop experience with industry-standard tools and workflows
Repository Organization
All course projects are organized in a single repository with clear folder structure by semester and course. Each project includes:
- Source code with detailed comments explaining key concepts
- README with project description, compilation instructions, and test cases
- Test harnesses and sample inputs/outputs for verification
- Complexity analysis and design documentation
- Git history showing incremental development