This is my personal blog where I plan to document my coding journey as I learn new languages and frameworks.
I was born and raised in a small village in Nepal. I moved to the US to pursue my passion for Engineering. I am currently attending University of Colorado Denver to complete a BS in Computer Science. I am currently open for internship as well as jobs.
Download CVI have experience with variety of different programming laguages and frameworks!
I can design and code simple web pages which includes landing page, contact page, navigation bar, etc.
I can create a simple and responsive GUI web applications with Python and Django.
I can design responsive webpages for different platforms like desktop and mobile.
I can create & maintain github repository for various projects.
I can create function programs in MASAM
I can design various graphical elements for websites.
Tiny Mart is a project that I completed for my Object Oriented Programming Class. The purpose of this project was to:
- Learn how to write a set of C++ classes and structures with inheritance and polymorphism
- Design and implement structures (struct) and classes of multiple product types with their
inheritance relationship
- Work with (Pure) virtual functions
- Organizing a hierarchy of classes in multiple *.cpp and *.hpp files
- Understand and experience the benefits of OOP
Develop a "Tiny Mart" product catalog system. Tiny Mart sells the following 3 major product types: Audio, Video, and Book. Books are sold in the format of e-books as well as paper books.
I started by creating the UML diagram for the project before coding to get a overall idea of the project.
I then broke down the coding into different product components as such:
Product | Description | Function(s) |
---|---|---|
Product | This is the base class for all product types. It will be inherited by the different product types. | displayProdInfo(): displays the common attributes of all product types in the Product class and then invokes displayContentsInfo() function which displays the derived product type-specific information using the virtual function. |
Audio | This is a derived class of Product. It Implements all of the inherited virtual functions of the Product class. |
displayProdInfo(): invoke base class displayProdInfo() and displays audio
product-specific information at the end displayContentsInfo(): Overriding Product's function. It displays singer's name, and genre. |
Video | This is a derived class of Product. It Implements all of the inherited virtual functions of the Product class. |
displayProdInfo(): invoke base class displayProdInfo() and displays video
product-specific information, if any at the end displayContentsInfo(): Overriding Product's function. It displays director, filmRate, releaseYear, and runTime. |
Book | This is a derived class of Product. It Implements all of the inherited virtual functions of the Product class. |
displayProdInfo(): invoke base class displayProdInfo() and displays book
product-specific information, if any at the end displayContentsInfo(): Overriding Product's function. It displays author and pages. |
E-Book | This is a derived class of Book Product. | |
Paper Book | This is a derived class of Book Product. | |
NameType struct | struct with firstName and lastName of the consumer. | |
addItem() | struct with firstName and lastName of the consumer. | |
Cart() | contains names of the consumer, option to add item, remove item, and display the cart | |
removeItem() | Returns true if the specified item is successfully searched and removed, otherwise false (when the item is not found or the cart is empty) | |
void displayCart(): | Traverse the items in the cart one by one and display the contents of each item followed by displaying the cart summary information. | |
isCartFull(): | Check if this cart is full or not. | |
main(): | Creates products up to 8 (testing cart overflow case) Creates a cart Adds/removes items in/from the cart Displays the items in the cart |
Tiny Calculator is a project that I completed for my Object Oriented Programming Class. The program prompts the user to select an arithmetic operation, then calculates and outputs the answer.
Functions | Description | |
---|---|---|
main() | Instantiates the calculator Displays the final calculation report |
|
displayUserMenu() | A static member function that displays an introduction text explaining the program with supported operation choices at the beginning. It then returns the OpType choice entered by the user | |
Calculation Functions |
Various different functions are required to perform arithmetic operations. processUserInput(opType): public driver function that plays a control panel role. The main() function keeps calling this function inside the do-while loop until the user is done with the calculationaddition(left, right): returns thr left operand + right operand subtraction(left, right): calls addition() with the negative number of the right operand multiplication(left, right): Adds the left operand by the numbers of the right operand. division (left, right): Subtracts the right operand from the left operand until the result is less than the right operand, then returns the number of subtractions (quotient) modulo(): does the division() and returns the remainder (left operand - the division result * right operand) |
|
displayReport() | Displays the final report about the calculator like running total, number of operations per operation type, total count of operations, and average of all operations |
Travel Distance Calculator is a project that I completed for my Object Oriented Programming Class. The purpose of this project was to get familiar with the various fundamental C++ constructs such as:
- If statements/switch statements
- Doubly nested loops
- Functions
- enum user-defined data type, converting the user entered string to an enum element
- static 2D arrays
- Handling two different C++ string implementations
This program will assist end users to plan trips within the United States by finding the distances between major cities and computing the estimated cost of the trips. It also computes various distance information. The program will use the provided 15x15 table of integers to find the distance between two cities.
Ask the user to enter the following information:
1) Departing city name at the first line and
2) Arriving city name next line
3) Car's mpg (miles per gallon)
4) Current gas price (3.99 for $3.99)
5) Look up the Distance table to retrieve and display the following information:
- The distance between two cities and total driving cost based on the current gas price and car
mileage efficiency (MPG, Mile Per Gallone) entered by the user
- The average distance from the specified departing city to all other cities in the table
- The name and distance of the farthest city from the departing city
- The name and distance of the closest city from the departing city
- You should define an enum type (or enum class) for the city names and must use the enum
enumerators (explicitly named constants) to specify a city name.
I started the project by breaking down the coding into different components as such:
Function | Description |
---|---|
buildDistanceTable() |
Reads the distance between two cities one by one from the specified global constant
distance table, then copies the distance into the corresponding element in the
specified 2D. For the cities impacted by the snowstorm, you need to update the distance with the new distance |
getTripCost() | Computes the estimated cost in dollars for a trip (distance * MPG * Current Gas Price) |
getAverageDistance() | Computes and returns the average distance between the specified city and all other cities from the specified city |
getClosetCity() | Finds and returns the closest city name from the specified city. |
getFarthestCity() | Finds and returns the farthest city name from the specified city. |
getClosestTwoCities() | Finds and returns the closest two cities in the entire table. | main(): |
Calls buildDistanceTable() function to set up the distance table. Asks the user to enter the departure and arrival city names The city name string is converted to the corresponding enumerator of the city enum type and vice versa. Program keeps asking the user to enter a valid city name if the entered name is not in the set of city names in the Distance Table. Displays the travel cost for the specified pair of cities. |
The goal of this assignment is to create an encryption/decryption system. A menu will be shown
asking the user if they wish to encrypt or decrypt a message. The user menu is as follows:
1. Enter a phrase
2. Encrypt the phrase
3. Decrypt a phrase
4. Exit
- If a phrase has already been entered, when option 2 and 3 are selected, check to see if a
phrase has been entered. If yes, ask if the user wishes to use that phrase. If no, then they
need to enter a phrase.
- If a key has been entered ask if the user wants to use that key.
- If a key has not been entered, ask the user to enter the key
- Convert the entered phrase to be encrypted into all uppercase (UpperCase PROC).
- Remove all non-alphanumeric elements so that only uppercase letters and numbers are being
encrypted/decrypted.
- The Phrase can be entered as any combination of Alphanumeric characters and symbols on the
keyboard.
- The encryption/decryption key will be a word entered by the user and can be made of any
symbol/character on the keyboard. The key will not be modified in any way.
- The ASCII value of each element of the key will be used to determine how far to shift/rotate
the
corresponding letter of the phrase to the left through the alphabet.
- Decrypting a word/phrase will require a shift/rotate to the right.
I started the project by breaking down the coding into different components as such:
Sentiment analysis is a project that I completed for my Object Oriented Programming Class.
Sentiment analysis (also known as opinion mining or emotion AI) is the use of natural language processing, text analysis, computational linguistics, and biometrics to systematically identify, extract, quantify, and study affective states and subjective information. For this assignment, we had to write a tiny social sentiment program in C++ that focuses on the sentiment value of individual words, computes the final sentiment score of a given review file, and then converts the score to a corresponding star ranking (1 - 5).
This program reads social sentiment [socialsent] scores from the file (socialsent.csv) provided by Stanford University. It then builds a social sentiment table of a struct which consists of two pieces of information [word, score] where the word is a key to the socialsent score.
I started the project by breaking down the coding into different components as such:
1. Open the socialsent.csv file to read the data.
2. Follow the sequence in the SoialSent template around lines 72 - 85
3. Read the specified review file and map each word in the review file to a corresponding score
in the SSS (SocialSentimentScore) table
4. Compute and displays the final score summed up from the scores of all the words in the entire
file
5. Convert the final score to the corresponding star ranking based on the following policy:
Star Ranking | Score |
---|---|
1 | 0 - 0.5 |
2 | 0.6 - 1.5 |
3 | 1.6 - 2.5 |
4 | 2.6 - 3.5 |
5 | 3.6 - 4.5 |
I created this website as a way to showcase my skills and projects. I wanted to document all of my coding process so that I can look back and see how much progress I have made over the years. This website is also a good portfolio for potential employers.
I had some familiarity with HTML and CSS but never had the opportunity to create an actual live project so I thought this would be a good opportunity to learn.
My first step was to create a wireframe of the website. I used Figma to create the wireframe for a simple yet effective website. I wanted my website to be clutter free and visually appealing so I went for black and white theme.
Once I had a solid design in mind, I started laying down the basic foundation for the HTML. I utilized bootstrap for various functionality such as navbar, cards, image gallery, and modal.
After I had the HTML in place, I moved on to the CSS. I used CSS to style the website and make it look more appealing and to make the website responsive so that it can be viewed on different devices.
I used JavaScript to add advanced functionality to the website such as animation, modernizer, carousal, etc.
This website still has a lot of room for improvements. As I learn and acquire new skills like SQL, React, and JQuery, I will update the website to take it to the next level. This website will be my way to practice and incorporate new skills in a practical way.
Refill Vending machine is a project that I worked on in my Fundamentals of Engineering Design Innovation class. The goal of the project was to design a vending machine that can be used to refill cleaning products in a bid to reduce plastic waste.
I worked on this project with a team of 2 other students. We started by brainstorming ideas and
came up with a list of requirements that we wanted to incorporate in our design. We knew we
wanted to
create a product that would help reduce plastic waste. We conducted interviews with people in
our community to get a better understanding of the problem and the potential solutions. After
that we perfromed affinity analysis to gain insights from the interviews. Finally we moved on to
the ideation phase where we came up with a list of ideas and narrowed it down to the final
design. Initially we had come up with the idea to create a lunch box with biodegradable
materials but later after more brainstorming, we ended up deciding to create a vending machine
that can be used to refill cleaning products.
At this stage, we worked on creating our prototpe for the vending machine. We had another brainstoriming session to determine who are stakeholders are, what features we want in the vending machine, and what kind of prototype we want to build. We decided to go with storyboarding and experience prototype to allow the user to test the type of expereince we want them to have with the vending machine. We created a simple prototype made with cardboard cutouts. After that, we conducted individual testing with our prototype. We also created a presentation to present our prototype to our classmates and get their feedback. We received good feedback from the users and decided to move on to the next stage of our project.
At this stage, we worked on refining our prototype. We gathered a list of insights we had gained, worked on refining our opportunity statement, and came up with some changes we would like to implement on our final design. We used the Hierarchy of Purpose to understan the 3 Whys and 3 How to determine what problem we are trying to solve and how we can make it better.
The final stage of our group project was to present our final design to our classmates. The purpose of the final Exposition Presentation was to highlight how our team utilized the DI process through the semester, present results from user testing and demonstrate your final project prototypes. We created the presentation which consisted of our final opportunity statement, our discover, define, develop and deliver phase, and our design of the vending machine.
For our final design, we created a mini version of our vending machine made of cardboard cututout that included a responsive app to add a level of interaction. We had different buttons on the app that would take you to different page like "Add to Cart", "Pay", "Home", etc.
Please send me a email if you are interested in working with me.