I'm a Computer Science student focused on building a strong foundation in software development, secure coding practices, and database management. Currently balancing studies and full-time work, I am dedicated to applying what I learn to both hypothetical and real-world projects, creating a portfolio that demonstrates practical, hands-on experience.
I'm exploring new concepts and refining my approach to software design and development, one project at a time. My portfolio inculdes a mix of academic projects and self-driven work, especially focused on:
- Learning Agile and Scrum Methodologies πββοΈ
- Developing Cross-Platform Skills π
- Gaining Experience in Software Security π
Learning Python for data tasks and automation, exploring its versatility in backend and scripting.
Building a foundation in Java, focusing on object-oriented programming for reliable application development.
Gaining experience in C++ for efficient programming and exploring foundational programming concepts.
Using Eclipse as primary Java IDE, exploring its debugging and organizational features.
Practicing Python projects in PyCharm, with support for virtual environments and testing.
Experimenting with Visual Studio, primarily for C++ and Windows-based applications.
Using VS Code for a range of tasks, from Markdown editing to scripts, exploring its flexibility with plugins.
Building foundational skills in version control, focusing on managing changes and tracking project history effectively.
Learning the basics of version control and project hosting, using GitHub for sharing projects and collaborating with others.
Learning SQL basics with MySQL, practicing database creation and data handling for structured data projects.
Primary development environment.
Exploring Linux basics, working with command-line operations and understanding server environments.
Developing familiarity with Agile practices, focusing on sprints, retrospectives, and team-based workflows.
-
CS305 Secure Software Practices: A project aimed at implementing secure communication mechanisms and performing vulnerability assessments for a financial application. Key highlights:
- Objectives: Strengthened security for data transfers by adding file verification through checksums and utilizing secure protocols.
- Technologies: Java, SSL/TLS for secure communication, and dependency check tools for vulnerability assessment.
- Challenges and Solutions: Focused on identifying and suppressing false positives in dependency checks, implementing a keystore, and managing secure algorithms to prevent vulnerabilities.
-
CS230 Draw It or Lose It - Software Design Document: A comprehensive software design document for expanding a team-based puzzle game from Android to a web-based, multi-platform application. Key highlights:
- Objectives: Outlined a scalable solution for a cross-platform web application with real-time interaction and a consistent user experience.
- Design Focus: Detailed requirements, architecture, platform compatiblity, and security considerations to ensure smooth, secure gameplay across platforms.
- Recommendations: Suggested Linux for main operating platform, multi-tier architecture, and secure communication methods like HTTPS to support real-time, synchronized gameplay.
- Deepen my knowledge in Linux and command-line operations for future cross-platform development.
- Strengthen my skills in Java and MySQL to support backend development in upcoming projects.
- Continue to build secure coding skills, applying what I learn in secure software development practices to real-world scenarios.