0% found this document useful (0 votes)
25 views10 pages

Handbook

The Personal Design Handbook by Surya Perumandla explores design engineering through explicit and tacit content from coursework and extracurricular activities. It highlights the importance of software architecture, data structures, and algorithm optimization, while also emphasizing practical applications and collaborative dynamics in design. The document integrates learnings from various courses and experiences, showcasing a comprehensive understanding of design principles and their real-world implications.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
25 views10 pages

Handbook

The Personal Design Handbook by Surya Perumandla explores design engineering through explicit and tacit content from coursework and extracurricular activities. It highlights the importance of software architecture, data structures, and algorithm optimization, while also emphasizing practical applications and collaborative dynamics in design. The document integrates learnings from various courses and experiences, showcasing a comprehensive understanding of design principles and their real-world implications.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 10

1

Personal Design Handbook


A thorough research into design engineering.

By Surya Perumandla
2

1. Explicit design-related content. 2


SEG 3102: Software Design and Architecture 2
Analysis of Impacts and DfX 4
Comparison and Integration of Learnings 4
2. Extracurricular Activities Involving Design: Tacit Content 5
SEG 3102: Software Design and Architecture 5
CSI 2110: Data Structures and Algorithms 5
IT Cloud Architect Intern (Stelco) 6
Lead Coding and AI Instructor (Code Ninjas) 6
Vsnap - Full-Stack MERN Social Media App: 6
Search RE - Reverse Image Search Engine: 6
Event Management App: 7
3. Explicit Design and Tacit Design Content 7
3

1. Explicit design-related content.

SEG 3102: Software Design and Architecture

Explicit Design-Related Content:

1. Architectural Drivers and Requirements:


○ Definition of software architecture as the high-level structure of a system.
○ Analysis of architecture drivers, including performance, scalability,
maintainability, and security.
○ Techniques for linking architecture to functional and non-functional requirements.
2. Design Patterns and Frameworks:
○ Application of commonly used design patterns such as Singleton, Factory,
Observer, and Strategy.
○ Use of Model-View-Controller (MVC) frameworks to separate concerns and
simplify maintenance.
○ Importance of reusable components to improve development efficiency and
reduce redundancy.
3. Middleware and Distributed Systems:
○ Design principles for distributed systems, focusing on communication protocols
and data consistency.
○ Exploration of middleware technologies like REST APIs and message brokers
(e.g., RabbitMQ).
○ Case studies in using middleware for scalability and fault tolerance.
4. Evaluation and Evolution of Designs:
○ Tools for measuring software complexity and internal qualities (e.g., cyclomatic
complexity).
○ Strategies for iterative refinement, including refactoring and modularization.
○ Basics of reengineering and reverse engineering to adapt legacy systems for
modern use cases.

Course Relevance: This course deepened my understanding of scalable and robust system
design, highlighting the interplay between architecture, requirements, and long-term evolution.

CSI 2110: Data Structures and Algorithms

Explicit Design-Related Content:

1. Algorithm Analysis and Complexity:


○ Techniques for analyzing time and space complexity (Big O, Big Theta, Big
Omega).
○ Emphasis on optimizing algorithms to minimize runtime and resource usage.
4

2. Advanced-Data Structures:
○ Binary Trees and Binary Search Trees (BSTs):
■ Use of BSTs for efficient searching, insertion, and deletion.
■ Exploration of AVL trees and 2-4 trees to maintain balance and ensure
optimal performance.
○ Heaps and Priority Queues:
■ Applications in scheduling and resource management.
■ Implementation of heap-based sorting algorithms like Heapsort.
○ Hash Tables:
■ Design of efficient hash functions for minimizing collisions.
■ Use cases in caching, databases, and associative arrays.
3. Graph Algorithms:
○ Graph traversal techniques: Depth-First Search (DFS) and Breadth-First Search
(BFS).
○ Shortest path algorithms (e.g., Dijkstra’s and Bellman-Ford).
○ Applications in network routing, transportation systems, and dependency
management.
4. Sorting Algorithms:
○ Implementation and comparison of sorting techniques like Merge Sort, Quick
Sort, and Bucket Sort.
○ Applications of sorting in database management and real-time processing.

Course Relevance: This course provided a strong foundation in designing data-centric solutions
and optimizing algorithmic performance, essential for creating efficient systems.

Analysis of Impacts and DfX

SEG 3102: Impacts and DfX

1. Impacts:
○ Performance: Architectural designs must ensure high performance through
efficient middleware and optimized processes.
○ Scalability: Distributed systems are designed to handle increasing loads by
leveraging modular architectures.
○ Security: Design choices prioritize data protection and system integrity in
middleware applications.
2. Design-for-X (DfX):
○ Reusability: Frameworks and design patterns enable scalable and maintainable
designs.
○ Reliability: Emphasis on error handling and fault tolerance ensures robust
systems.
5

○ Evolution: Strategies for reengineering and iterative design ensure adaptability to


changing requirements.

CSI 2110: Impacts and DfX

1. Impacts:
○ Efficiency: Data structures like heaps and AVL trees are designed for optimal
performance.
○ Scalability: Algorithms are crafted to handle large datasets and dynamic
environments.
○ Reliability: Correctness of algorithms ensures dependable functionality across
applications.
2. Design-for-X (DfX):
○ Efficiency: Advanced data structures and algorithms minimize computational
overhead.
○ Functionality: Graph algorithms enable complex problem-solving in networks
and resource planning.
○ Robustness: Sorting and hashing techniques ensure data integrity and efficient
processing.

Comparison and Integration of Learnings

Both SEG 3102 and CSI 2110 emphasize different yet complementary aspects of design. While
SEG 3102 focuses on high-level architectural decisions and system scalability, CSI 2110 delves
into the efficient handling of data and resources. Together, these courses have equipped me with
a holistic understanding of design, spanning from macro-level architecture to micro-level
algorithm optimization.

Applications:

● Using SEG 3102 principles, I can design systems that are not only robust and scalable but
also aligned with user requirements and performance goals.
● CSI 2110 has enhanced my ability to implement these designs using data structures and
algorithms that ensure efficiency and reliability.

2. Extracurricular Activities Involving Design: Tacit Content

SEG 3102: Software Design and Architecture

Tacit Design-Related Content:

1. Collaborative Dynamics:
6

○ Team discussions revealed the importance of aligning architectural choices with


business goals.
○ Informal feedback from peers helped refine design strategies for middleware
integration.
2. Iteration Practices:
○ Real-life case studies showcased iterative improvement cycles, highlighting the
importance of balancing innovation and feasibility.

Course Relevance: This course expanded my ability to balance technical and business priorities,
emphasizing the role of tacit insights in creating scalable systems.

CSI 2110: Data Structures and Algorithms

Tacit Design-Related Content:

1. Problem-Solving Techniques:
○ Experiencing algorithm debugging highlighted intuitive strategies for resolving
performance bottlenecks.
○ Instructor tips emphasized practical applications of algorithms beyond theoretical
contexts.
2. Efficiency Insights:
○ Collaborative coding exercises revealed unconventional uses of data structures in
complex scenarios.
○ Reflective discussions underscored the trade-offs between algorithm speed and
memory use.

Course Relevance: The tacit knowledge gained in this course provided invaluable techniques
for addressing real-world data challenges and optimizing solutions.

IT Cloud Architect Intern (Stelco)

Tacit Insights:

1. Practical Application of Design Principles:


○ Designing production pipelines taught me to prioritize scalability and reliability in
real-time.
○ Migrating legacy systems emphasized the balance between maintaining existing
functionality and introducing modern features.
2. Collaborative Design:
○ Interacting with diverse teams helped develop skills for aligning technical designs
with stakeholder expectations.
7

○ Adapting to ad-hoc changes in project requirements highlighted flexibility as a


key design consideration.

Lead Coding and AI Instructor (Code Ninjas)

Tacit Insights:

1. Simplifying Complex Concepts:


○ Teaching coding concepts to youth reinforced the importance of clear
communication and simplicity in design.
○ Demonstrating AI and game design revealed creative ways to make technology
approachable and engaging.
2. Iterative Learning and Teaching:
○ Mentoring capstone projects highlighted the iterative nature of design, where
constant feedback and revision are crucial.
○ Experimenting with generative AI models underscored the potential of emerging
technologies to enhance design outcomes.

Vsnap - Full-Stack MERN Social Media App:

1. Tacit Insights:
○ Tackling persistent data storage and real-time updates emphasized the importance
of performance tuning.
○ Developing navigation workflows highlighted user-centric design principles.

Search RE - Reverse Image Search Engine:

1. Tacit Insights:
○ Implementing Flask and Keras demonstrated the interplay of machine learning
and intuitive interfaces.
○ Debugging feature extraction issues stressed the value of systematic
problem-solving techniques.

Event Management App:

1. Tacit Insights:
○ Managing user roles and permissions showcased the role of security and
scalability in application design.
○ Integrating RegEx for form validation reinforced the importance of data integrity
in user inputs.
8

3. Explicit Design and Tacit Design Content

Activity Explicit Design-Related Content Tacit Design-Related Content

SEG 3102: - Architectural drivers and patterns. - Importance of aligning design


Software Design - Middleware frameworks. - with business goals.- Iterative
and Architecture Evaluating performance, security, improvement cycles through case
and reusability. studies.

CSI 2110: Data - Algorithm complexity analysis.- - Debugging strategies for


Structures and Advanced data structures (e.g., performance bottlenecks.-
Algorithms BSTs, Heaps, Hash Tables). Balancing algorithm speed vs.
memory trade-offs.

IT Cloud Architect - Designed data pipelines with - Balancing legacy functionality


Intern (Stelco) Azure DevOps.- Migrated systems with modern features.- Adapting
to robust SQL databases.- Used designs to shifting project
Power BI for reporting. requirements.

Lead Coding & AI - Taught game design, AI, and web - Simplifying concepts for
Instructor (Code dev.- Mentored capstone projects.- clarity.- Iterative teaching to
Ninjas) Delivered lessons on OOP and refine and improve design
generative AI. techniques.

Vsnap (MERN - Persistent MongoDB storage.- - Performance tuning for


Social Media App) Developed React-based UI and real-time data updates.-
backend workflows. Navigation design to enhance
user experience.

Search RE - Built Flask and Keras ML - Debugging feature extraction


(Reverse Image workflows.- Designed user-friendly issues systematically.-
Search Engine) image query interfaces. Accelerating design using
pre-trained networks.

Event Management - Managed roles using Firebase.- - Security-focused role


App Integrated RegEx for data management.- Ensuring data
validation.- Applied scalable integrity with advanced
software patterns. validation methods.
9

4. Concept Map

5. Scoping

Scope Category
SEG 3102: Software Design and Architecture:
- Architectural Drivers and Requirements
- Design Patterns and Frameworks
- Middleware and Distributed Systems
Critical - Evaluation and Evolution of Designs
CSI 2110: Data Structures and Algorithms:
- Algorithm Analysis and Complexity
- Advanced-Data Structures (Binary Trees, Heaps, Hash Tables)
- Graph Algorithms (DFS, BFS, Shortest Path)
Critical - Sorting Algorithms
Design-for-X (DfX) from SEG 3102 and CSI 2110:
- Reusability, Scalability, and Security considerations
Critical - Techniques for efficiency and robustness
Extracurricular Tacit Insights:
- IT Cloud Architect Intern (real-time data pipelines and migration of
Foundational legacy systems)
10

- Lead Coding & AI Instructor (teaching design fundamentals and


iterative refinement)
Application-Specific Insights:
- Performance tuning in Vsnap (MERN Social Media App)
- Debugging machine learning workflows in Search RE (Reverse
Foundational Image Search Engine)
Comparison of Learnings from SEG 3102 and CSI 2110:
- Integration of high-level system architecture and efficient algorithm
Foundational implementation
Mentorship and Teaching Activities:
- Simplifying concepts for young learners at Code Ninjas
Peripheral - Iterative teaching and mentoring strategies
Additional Projects:
- Event Management App (role management and validation
Peripheral techniques)

Citations

Software Design: Principles, models, and Patterns - Harvard Division of Continuing Education

Course Browser. (2024, October 3). Harvard Division of Continuing Education Course

Browser.

https://coursebrowser.dce.harvard.edu/course/software-design-principles-models-and-patt

erns/

You might also like