SHASHANK PRATAP SINGH
(Undergrad Rising Senior, Sports Enthusiast, Eco-passionate, Eclectic)
dividing sections
Throughout my academic and professional journey, I have always viewed my work as an opportunity for growth rather than just a task on my to-do list. My dedication to continuous learning and improvement is reflected in the certifications I have earned and the projects I have undertaken.
Below, you will find a detailed overview of my Certifications and Projects related to Computer Science. Each certification represents a milestone in my quest to deepen my technical expertise and stay aligned with the latest advancements in the field.
They are not just accomplishments but stepping stones that have shaped my journey and prepared me for future challenges in the dynamic field of Computer Science.
dividing sections
I earned the AWS Certified Cloud Practitioner certification in Summer 2024, a credential that validates my comprehensive understanding of AWS Cloud fundamentals. This certification demonstrates my proficiency in essential cloud concepts, AWS services, security, architecture, pricing, and support.
The AWS Certified Cloud Practitioner exam covers a broad range of topics, including the core principles of cloud computing, the value of AWS Cloud, and the foundational architectural best practices. Preparing for and achieving this certification has provided me with a solid grasp of how to utilize AWS services effectively, manage cloud infrastructure, and make informed decisions regarding cloud adoption.
This certification not only underscores my technical knowledge but also equips me with the insights needed to communicate the benefits of cloud solutions to stakeholders and align cloud strategies with organizational goals. As a certified AWS Cloud Practitioner, I am well-prepared to contribute to cloud-related initiatives and support the seamless integration of cloud technologies into various projects and workflows.
I’m grateful to the Amazon Skill Center for their valuable resources and constant support while I was preparing for this certification exam in Summer 2024. I would also like to thank Nick Noblett, who’s my instructor for a majority of courses at the skill center.
Skills : Cloud Concepts, AWS Core Services, Security and Compliance, Architecture and Design Principles, Pricing and Billing, AWS Management Tools, Basic Networking Concepts, Deployment and Operations, Cloud Value Proposition.
dividing sections
"React: Creating and Hosting a Full-Stack Site" by Shaun Wassell, was a LinkedIn Learning course where I learned how to combine React with Node.js to build powerful, full-stack web applications.
In this project-based course, I gained hands-on experience in developing a comprehensive website from start to finish. It has equipped me with the skills to elevate my client services to the next level. This course has been a transformative experience, and I look forward to applying these skills to future projects.
Skills : Full Stack Development, React.js, Node.js, API Testing, Postman, Firebase Authentication, and MongoDB
dividing sections
Through these SWE Simulations available on Forage, I got insights into the software development processes within the following leading tech companies. These simulations allowed me to experience real-world scenarios that software engineers face daily, enhancing my understanding of industry practices and expectations.
During my time with the Hewlett Packard Enterprise, I successfully completed a series of practical tasks like creating a proposal for a RESTful Web Service, then building the proposed RESTful Web Service using Java Spring Boot and most importantly testing the application by creating custom unit tests.
Skills : Restful Web Development, Spring Boot, Java, JUnit, API Testing, Communication
With the Electronic Arts, I worked on how to write an effective Feature Proposal detailing my idea – its prose & cons, the requirements and benefits. I also learnt how to create a Game Object Class as a part of initiating the idea of feature proposal to next step. Later on I worked on the codebase of the Inventory System to improve its efficiency using my knowledge of data structures.
Skills : User Interface Design, Game Engines, Object Oriented Design, Object-Oriented Programming (OOP), Feature Proposal, Communication
In the Lyft SWE simulation, I worked on an unfinished project for the Lyft Rentals team. I started with drafting a UML class diagram representing a new reorganized architecture. Moving forward I refactored the old messy codebase inherited from another team to accurately reflect my new design. As the final task, I implemented a new functionality using test-driven development and added unit tests for quality assurance.
Skills : Unified Modeling Language (UML), Python (Programming Language), Test-Driven Development, Unit Testing, Code Refactoring
For the Wells Fargo SWE simulation, I was tasked with building a system to manage financial portfolios for various clients. By analyzing the various requirements provided by the finance team , I figured out what data the system needed to keep track of. Then I drafted a visual representation of the data as an entity relationship diagram (ERD) to understand what things I had to work on while writing the code for this system. Using the ERD, I implemented the system in Java JPA.
Skills : Java, Spring Boot, Entity Relationship Diagramming, JPAS
dividing sections
The Mastering Algorithms and Data Structures in Java learning path enabled me to acquire and refine essential skills for technical coding interviews at top-tier companies. This path emphasized the importance of selecting optimal algorithms and data structures for various problems, applying them effectively, and articulating the reasoning behind these choices. I gained a solid understanding of key topics, including hash tables, recursion, linked lists, queues, and stacks. This knowledge not only strengthened my problem-solving abilities but also enhanced my ability to communicate complex technical concepts clearly, preparing me for success in competitive technical interviews.
Skills : Data Structures & Algorithms, Stack, Queue, Linked-Lists, Hashing
The Journey into Data Science with Python learning path through 7 courses further divided into bite-sized lessons and practices helped me understand the complexities of Data Science in a simple and convenient way. Through these series of well-crafted courses, I gained the foundational knowledge, tools, and techniques needed to turn raw data into meaningful insights. In this series of 7-courses, I went over crucial topics of Data Science like Data Pre-processing, Data Cleaning, Data Visualization, Supervised Machine Learning and finally Unsupervised Machine Learning. Using Python, a versatile and powerful language, I learned to navigate the dynamic world of data-driven decision-making. This learning path has not only sharpened my analytical skills but also prepared me to tackle real-world data challenges with confidence and expertise.
Skills : Data Querying and Retrieval, Exploratory Data Analysis and Visualization, Data Cleaning and Preprocessing, Machine Learning and Predictive Modeling, NumPy, Pandas, Python, Scikit-learn, Seaborn
dividing sections
This certification process involved a comprehensive understanding of API concepts, best practices, and hands-on experience with Postman, a widely-used tool for API testing and development. Through this certification, I learned how to effectively create, test, and document APIs, gaining proficiency in using Postman's powerful features to streamline and enhance the API development process.
The certification not only validated my skills but also deepened my knowledge of RESTful APIs, authentication methods, and various testing techniques.
Skills : Postman, API Testing, Rest APIs
dividing sections
CodePath is a non-profit organization that offers accelerated computer science education for students and professional developers. Their courses are designed to bridge the gap between traditional computer science curricula and the practical skills needed in the tech industry, providing hands-on, project-based learning experiences.
In the "Android 101: Intro to Android App Development" course offered by CodePath, I acquired hands-on knowledge in Kotlin using the Android Studio IDE and the Gradle build system. This comprehensive course allowed me to develop, test, and deploy mobile applications, working extensively with REST and other APIs to facilitate seamless data communication, including parsing JSON responses. Throughout the course, I worked on nine projects, mastering the creation of interactive user interfaces and developing proficiency in managing the app lifecycle.
One notable project from this course was "Mars Snap" ,an Android app integrated with NASA’s Curiosity Rover API. For this app, I implemented RecyclerView for better memory management and smooth scrolling. The app features scrollable images of Mars, designed with custom-downloadable fonts and personalized themes and styles, showcasing my ability to combine functionality with aesthetic design.
Skills : Android Development, Kotlin, Rest APIs, Restful Web Development, API Testing, Android Studio IDE
dividing sections
I completed the "SQL and PostgreSQL for Beginners: Become an SQL Expert" course, taught by Jon Avis on Udemy. This course provided me with a solid foundation in relational database fundamentals, enabling me to build a relational database from scratch. I gained proficiency in using SQL to perform data analysis and execute complex SQL queries, including joins and subqueries.
Throughout the course, I developed a deep understanding of database concepts such as database relationships and became confident in adding SQL and PostgreSQL skills to my resume. I also learned to use conditional statements and functions and manipulate window functions in SQL and PostgreSQL for more advanced data analysis. The course included multiple challenges, allowing me to practice and hone my skills effectively. This certification has equipped me with the expertise to perform thorough data analysis and manage relational databases efficiently.
Skills : SQL, PostgreSQL
dividing sections
I completed the course "How to Organize Your Time and Your Life," where I learned from organization expert Julie Morgenstern about creating personalized organizational systems. Instead of following trendy productivity hacks, this course emphasized the importance of designing a system tailored to my unique goals and personality. Julie's insights helped me understand how to manage my time for greater productivity and ensure that my system feels natural and functions optimally.
The course also covered troubleshooting techniques to identify what aspects of my organizational system are working and which aren't, allowing me to make necessary adjustments. I learned strategies to reclaim creative time, prevent my inbox from dominating my day, and more. This course has empowered me with the skills to build and maintain an effective organizational system that enhances both my productivity and personal satisfaction.
Skills : Time-management, Goal Setting, Strategic Planning
dividing sections
As a part of my course work for Programming Languages Technologies and Paradigms CMSC-433, I worked on developing a mini-version of Dafny, a code verification language, by creating Syntax, Parser, and verifier using Haskell. By working on this project, I enhanced my knowledge about Hoare Logic, and related topics like pretty printing, parsing, weakest preconditions and Z3.
Building upon this project, I’m currently working on exploring the limitations of this project by trying to figure out ways to implement code-verifications of arrays using Hoare Logic and Z3.
Skills : Haskell, Dafny, Hoare Logic, Z3, and Code-verification
dividing sections
A Data-Science project which predicts the overall rating of a soccer player, leveraging the player-attributes encapsulated in the dataset, thus shedding light on the intricate dynamics of player roles in soccer.
Vedant Gawande, Jai Bobal, and I collaborated on this project using the knowledge we gained in CMSC320 under professor Dr. Fardina Alam.
This project was coded in google colab using Pandas and related libraries. HTML was used for hosting the information on github page.
My contribution involved the initial brainstorming of the project idea, working in the initial phases of the project with data curation, preprocessing and EDA analysis, helping with thought process and code for the various hypotheses tests in the EDA section. Further contributed to writing the code for the ML algorithm design/development and worked on the overall structuring of the published html document.
Skills : Data Curation, Data Preprocessing, Exploratory Data Analysis (EDA), Hypothesis Testing, Machine Learning Algorithm Design, Pandas, Collaboration and Teamwork, Project Structuring.
dividing sections
Worked on a mini-research project as a part of required coursework for the CMSC396 Honors Seminar Course at UMD, with batchmates Aniruddh Mutnuru, Tanay Shah, and Abhi Mukherjee.
In this mini-research project we worked on identifying how the information on reddit influences student's decision on important aspects of student life, primarily focusing on academics and housing.
I worked on writing a Python-code which uses the Python Reddit API Wrapper (PRAW) to extract reddit posts from r/UMD related to academics and housing.
The Python-code gives out a semi-HTML file, comprising multiple sections. Each represents a post from r/UMD and includes important details about the post like Title, Main Text, Most Popular and Unpopular Comments to that post and how many Upvotes/Downvotes they received.
Skills : Reddit Data Extraction, Python Programming, API Usage (PRAW), Data Structuring, Web Scraping, Data Analysis, Research Methodology
dividing sections
I set out to create my personal portfolio using HTML and CSS, pulling from various sources to guide my learning. The design is entirely my own, but I used code references from different tutorials, which I then carefully refactored to fit my vision. I spent close to 15 hours on the writeup, making sure it's as concise and clear as possible.
This project was not just about putting together code; it was about understanding and applying best practices in web development. As I worked through different tutorials, I learned a lot about writing clean and efficient HTML and CSS, and I've incorporated those lessons into my portfolio. The result is a site that not only looks great but is well-structured and thoughtfully coded, reflecting both my creativity and my commitment to quality.
Skills : Web Design, Code Refactoring, Attention to Detail, Brainstorming, HTML, CSS
dividing sections
Having personally navigated the highs and lows during our freshman year as an international student, we felt compelled to create a solution that addresses the issues of space storage and part-time job opportunities and assists fellow students on their academic journey. Thus, we came up with UniConnect, a platform that offers essential support and resources to submit as a solution in PennApps 2023. Our project was declared a winner and ranked in Top 8 General Hacks!
Skills : Brainstorming, HTML, CSS, JavaScript, Front-End Development, Team-work
Github : shashanksp04/Uniconnect
DevPost : https://devpost.com/software/uniconnect-7bjc1v p>
dividing sections
MarsSnap is an android app that displays a scrollable list of pictures taken by the Curiosity Rover of NASA on MARS using the NASA's API
Using my learning from the Android 101 course of CodePath, I used RecyclerView to ensure scrollable Mars images with efficient memory management, and created a customized and personalized themes with the custom-downloadable font and styles.
Skills : API Testing, App Development with Kotlin
dividing sections
Create a replica of the Unix as an assignment under CMSC-216, a course at UMD.
Developed a solid understanding of shell scripting concepts and techniques. Implemented complex functionalities in the shell script, such as boolean operations, pipes, and file redirection and leveraged Unix syntax for familiar command-line interactions.
Executed thorough test cases to verify the correctness of implemented features while applying coding standards and best practices for readability and maintainability.
Skills : Shell scripting, Pipes, File redirection, Unix, C
dividing sections
Built the Front-End of a car-racing game called Circuit Chaos as a part of the team project for BitCamp 2023.
Skills : Html, CSS
dividing sections
Using my learning from the CMSC132 - Object Oriented Programming II at UMD, I built a replica of ATM.
Implemented database queries, using PostgreSQL, to manage account creation, updates, and transactions, worked on creating secure mechanisms for account creation and PIN changes.
Skills : Java, PostgreSQL
dividing sections
dividing sections