Home CS Humanities French Math Modeling Physics STEM STEM II

Computer Science

Computer Science, taught by Mrs. Taricco, follows the AP CSA course with additional opportunities and programs such as web design, participation in Apps For Good, and the American Computer Science League. In fact, designing our personal websites — the one you're viewing right now — was one of the first things we did in CS. I came into MAMS without having taken a single computer science course before, so while I was very intrigued and excited to learn something new, I was also very scared I wouldn't be able to grasp the topics or be good enough. That being said, I've had a fantastic experience learning CS so far, and I can't wait to continue growing my knowledge in this subject!

Manipulating An Image

In this exercise, which focused on using loops, we were challenged to write a program that would prompt the user for image and then invert it by altering the colors. To do this, I made a loop that would go through each column, pixel by pixel, taking the original color and setting the pixel color to its inverse, until it went through all columns and the image was fully inverted. I really enjoyed this problem, as I think it was challenging but had a rewarding result. Of course, once I was done with my code, I had a lot of fun inverting pictures of my friends and family for the rest of the day.

Federal Tax Rate Lab

The goal of this lab was to calculate a user’s federal taxes by having them insert their income and marital status, which would then be used to determine the user’s tax bracket. To accomplish this, I first used a switch statement to sort a user by their marital status. From there, I used if-else statements to place users into the correct tax bracket based on their income. Lastly, the user’s tax was calculated based on a table we received stating the percentage of income that was taken from each tax bracket. I liked this lab because I think it is a very useful program in the real world, and I really enjoy coding things that could be used to help people in the real world.

Apps For Good

Scanspose: A Music Transposition App

By Max Grisanti, Hari Koornala, and Kruthi Gundu

Problem Statement

Due to the nature of instruments and music theory, a piece of music written for a certain instrument cannot be played by another instrument unless they are in the same key. Therefore, to allow multiple instruments to play the same piece of music, the notes must be transposed, which is the act of shifting notes up or down a set number of steps depending on the difference in instrument keys.  In instrument ensembles, transposing music is a tedious, yet common practice necessary for all instruments to be included in the playing. For example, it is common to look for a certain music piece, only to find it for another instrument. Transposing the piece allows the user to play whatever music they like with an instrument of choosing.   Since transposing music manually is a very extensive and difficult process, previous attempts to create online applications and softwares to make the process easier have been made. However, existing transposition software either requires a subscription or is not very user-friendly, especially for younger musicians who may not have much experience working with technology. Therefore, it is important that a new app is made to encompass all that is necessary to make transposing music streamlined and convenient for users.

Target Audience

This app is targeted toward musicians who want to convert music between different instruments and keys. Specifically, this app could be useful for younger musicians who do not understand enough music theory to transpose pieces manually. Teachers could use this app to transpose music to different instruments, enabling multiple sections in an ensemble to practice the same thing. It is usually a hassle to transpose the music by hand since there are a lot of instruments, and the musical pieces are usually long and complicated. Our app also targets individuals who are exploring or learning music on their own. A lot of music is composed in one key/instrument or the free version is only available in one key instrument. Students who are interested in exploring can use this app to transpose the music to the instrument they are playing instead of spending time and money trying to find the music that matches their instrument.
The primary goal of the app is to increase the range of music a musician can play. It will enable the musician to transpose any sheet music into the key the musician wants, allowing them to play pieces written for other instruments without having to go through the struggle of manually transposing the piece.

Solution

Our group created an app that would allow the user to scan a photo of their sheet music and choose an instrument to transpose it to. After the user has selected the instrument and scanned a photo, the app outputs a new musicMXL file, which can then be opened in applications like MuseScore or SoundSlice. To obtain a digital sheet music file out of the image, our team used code from Audiveris, which is an open-source tool for optical music recognition (OMR). We then created our own algorithm to parse through the individual notes of a sheet and change them accordingly based on the instrument the user wished to transpose the sheet to. Lastly, our app also includes a "Quick Transpose" feature, which allows the user to transpose singular notes from one instrument to another, similar to the design of Google Translate, just with music notes!