This is my repository to store my projects and homework assignments for my second intro course. I decided to take a second intro to really solidify a base, and the projects/technology seemed pretty interesting!
The first pset was really to introduce me to the world of C/Linux
Objectives:
- Get comfortable with Linux
- Start thinking more carefully
- Solve some problems in C
a hello world! And a hello to C!
a program that prompts the user for the length of shower (as a positive int), and then prints the equivalent number of bottles of water they are using! Take shorter showers!
a program that 'recreates' the half-pyramid using hashes(#) for blocks. The user is prompted for the half-pyramid's height, a non negative integer no greater than 23. If user fails to provide what's needed, they are re-prompted then the half-pyramid is generated making sure to align the bottom-left corner of thehalf-pyramid with the left-hand edge of the terminal window
A couple of testing files are incorporated into the folder, I am debating on taking them out, but I liked to see how I thought when I was working through the problem. For now, I would like to keep them there.
The second problem set had me really get better acquainted to functions and using libraries
Objectives:
- Become better acquainted with functions and libraries
- Dabble in cryptography
A program that prompts hte user for their name, and then outputs their initials in uppercase no spaces or periods, and then followed by a new line.
A program that encrpyts a message using Caesar's cipher! A secret!
A program that encrypts a message using Vigenere's Cipher, which improves upon Caesar's by encrypting messages using a sequence of keys. If p is some plaintext and k is a keyword.
The Game of Fifteen! Creates our first working game! Sorting algorithns, O(n), all included and learned this week.
Objectives:
- Accustom you to reading someone else's code
- Introduce you to larger programs and programs with multiple source files
- Empower you with Makefiles
- Implement a party favor
Prompts user for as many as MAX values until EOF is reached, then proceeds to search that "haystack" of values for given needle. helpers files and make included.
Implements Game of Fifteen (generalized to d x d). Usage: fifteen d whereby the board's dimensions are to be d x d, where d must be in [DIM_MIN,DIM_MAX]
The problem set focuses on working with images, recovering images, uncovering hidden images.
Objectives:
- Acquaint you with file I/O
- Get you more comfortable with data structures, hexadecimal, and pointers.
- Introduce you to computer scientists
- Help Mr. Boddy
Copies a BMP piece by piece, uncover the hidden image!
a program called resize that resizes 24-bit uncompressed BMPs by a factor of n. The program accepts exactly three command-line arguments, per the below usage, whereby the first (n) must be a positive integer less than or equal to 100, the second the name of the file to be resized, and the third the name of the resized version to be written.
Professor Malan snapped a bunch of people's photos on campus, but lost all the data! He thought it was "deleted", but it was more so "forgotten". The CF card says it was "blank", but we built a program that recovers all of the "deleted" images.
Created a spellchecker in C!
Objectives:
- Allow you to design and implement your own data structure.
- Optimize your code's (real-world) running time.
Implements a dictionary's functionality.
Implemented a spell checker using dictionary's functionality
A problem set that started to transition away from C into web programming. Worked and built a we server that would handle and respond to requests. Note: Much of this code was provided, and I implemented many of the functions with it.
Objectives:
- Become familiar with HTTP
- Apply familiar techniques in unfamiliar contexts
- Transition from C to web programming
the web server that handles requests, parses through it, provides a response.
C$50 Finance! Implemented a website via which users can "buy" and "sell" stocks.
Objectives:
- Create a functional website
- Utilize and implement a backend database (SQL)
- Allow users to buy and sell stock, check their history, update within the database
This problem set was all done via Python, Flask, Bootstrap, HTML/CSS, SQLlite
Within this file is the bulk of how the sever operated, using functions from the hlper, all of the templates that generated the content on the web page etc within the subsequent folders/files. Really awesome project, and my friends all practiced! I found a pretty big bug that allowed a user to input a negative value in the "buy" section, and my friend gave himself 1mil extra cash! Quickly squashed that bug
Mashup! Mashup various technologies to create a google maps rendition to show users relevant trending articles for areas they are searching via Google maps! Users can drag and update the map to various locations, relevant data is then provided in a clickable format for users to see trending articles on cities/towns of the areas they interact with!
Objective:
- Use an API!
- Mashup various technologies to create a functioning web app
- Utilize technologies and techniques to gather, request, parse and distribute imformation
This application uses JavaScript, HTML/CSS, RSS feeds, SQL, Python, AJAX, jQuery and JSON