Computer Science

Course Description

The computer science class here at MAMS is very interesting and insightful. In this class, the teacher would explain a broad concept in Java, usually a class of the language, and the student would then solve coding problems as assignments. Since the class would only give the fundamentals of the notion, the student must independently familiarize themselves with the material through online research and critical thinking skills to piece together the codes for a working program that completes the task stated in the assignment. These activities will increase the students’ fluency in Java as they learn to code programs by themselves or by collaborating with others.

Apps for Good Project

Summary

Academic institutions are crucial infrastructures for society as it enlightens the youths to pursue their ambitions. In addition, one’s full potential can only be realized with an appropriate educational environment. Therefore, the institution at which a student receives their education has a profound impact on their ability to absorb information. To obtain knowledge about an institution, a student could refer to the academy’s website, which contains pivotal information relevant to the school. However, navigating institutions’ websites, especially colleges’ platforms--which can influence the student’s decision on picking that university can be difficult. Hence, this project aims to design an artificial intelligence chatbot to make the students’ browsing experience more ergonomic. The AI model would generate common topics for the user to select from for a more customized experience, but there is another ambiguous option if the user’s inquiry does not align with any generated theme; consequently, the AI’s response will be less tailored towards the question, and inaccurate responses may arise. The AI was trained on data obtained from the Massachusetts Academy of Math and Science website for the model to answer questions related to the Academy as the first implementation of the intelligence. Moreover, all resources that were used to allow for the neural network to accurately provide generated responses are stored within the model for universal execution on different websites.

MVP

When a user enters the Mass Academy website, a small screen will appear on the bottom corner of the screen. On this screen an introductory message from the MAMS chatbot will appear. Once the user clicks on the screen to learn more, the screen will expand and will appear similar to a messaging interface. Initially, the chatbot will present the user with a few buttons to get an understanding of what they want to ask a question about. Button options will include “Curriculum”, “Faculty”, “Application Process”, and an “Other” button. This selection will then be combined with the question to allow for more accurate results with the similarity search. Once the user selects an option, a bar will appear in which they can type in their question. Depending on the question, the chatbot will respond based on information provided in MAMS resource documents and information on the Mass Academy web pages. In addition to the answer, the chatbot will provide Mass Academy’s contact info as well as cite the web page or document where the information was retrieved.

Poster

Apps for Good Fair Poster

Sample Programs

Line Art Lab

In this CS assignment, one is tasked with creating an intricate pattern shown in the picture below. The curves are merely an illusion formed by straight lines of varying slope values that intersect each other in such a small interval that makes their formation looks like a curve. For this programming problem, Java loops will be extremely helpful in generating the multitude of lines to form the curve.

Output:

Line art picture

ArrayLists Exercises

This CS assignment is to familiarize the students with dynamic arrays by using the Java class ArrayLists. There are numerous exercises in this assignment that would test the students’ reasoning for programming and enhance their skill for finding useful methods in the database for ArrayLists. These exercises all involve manipulating one or even many ArrayLists to reach a desired output. As one codes, the programs will get harder and more challenging throughout the assignment.