Seth
Tinglof

Computer Science Student

Intro

Hello, my name is Seth Tinglof. I am a current student at the University of Massachusetts Amherst working towards a BS degree in computer science. I enjoy writing code and intend to pursue a career in the field. My strongest languages are Java, Python, and C.

One of my hobbies is making games. Several of these are available on my github.

Courses

UMASS Amherst Computer Science

CS589 - Machine Learning

CS589 introduces core machine learning models and algorithms for classification, regression, clustering, and dimensionality reduction. The focus of the course is on understanding models and the relationship between them as well as effectively using machine learning methods to solve real-world problems with an emphasis on model selection,regularization, design of experiments, and presentation and interpretation of results.

What I enjoyed about this course is that, in the homework assignments, we utilized the scikit-learn ML tools to train models for various data sets then tested these models by uploading our predictions to kaggle.com. This way, we gained some practical experience in training ML models.

CS514 - Algorithms for Data Science

This course studies the mathematical foundations of big data processing, developing algorithms and learning how to analyze them. We explore methods for sampling, sketching, and distributed processing of large scale databases, graphs, and data streams for purposes of scalable statistical description, querying, pattern mining, and learning.

In this course, we delve fairly deep into theory to understand the algorithms that we work with, but we also took the time to implement them as well. I enjoy both the mathematical and practical aspects of this course and am glad that we did not have to give up either for the other.

CS383 - Artificial Intelligence

The course explores key concepts underlying intelligent systems. Topics include state-space representation, heuristic search techniques, game playing, knowledge representation, logical reasoning, automated planning, reasoning under uncertainty, decision theory, and machine learning.

AI is an area of interest to me, so I was excited to take this course. I enjoyed learning about the models that can be used to gather information about a problem or state-space to allow a computer to make intelligent decisions.

CS370 - Introduction to Computer Vision

This class was an introduction to the world of getting computers to "see" like humans. We wrote algorithms for problems like panorama stitching and recognizing different numbers. We also discussed algorithms such as decision trees and convolution neural networks.

The fun part of this class was that the main focus was on implementing the algorithms that we discussed in class. Every homework was primarily a programming assignment, so I left the class knowing that I could implement and utilize the algorithms that we learned.

CS311 - Introduction to Algorithms

CS311 is the general algorithms course at Umass. It builds upon a lot of the topics in CS187 and CS250 such as such as sorting, searching, string-processing, and graph algorithms. We also learned about the mathematical analysis for proving the correctness and/or complexity for different types of algorithm, e.g. greedy, divide and conquer, and dynamic programming.

Since I enjoy the mathematical analysis of algorithms (I've always been fascinated by complexity theory), I found the proof aspect of this class interesting. My favorite assignment was an extra credit problem where we were tasked with designing and implementing an algorithm to find the longest repeating substring of a string. I also received a course citation for excellent performance including a cumulative final grade over 100%.

CS250 - Introduction to Computation

This course is an introduction to some of the discrete mathematics concepts that are common in computer science, including set theory, strings and formal languages, propositional and predicate calculus, graphs, trees, search problems, finite automatons, and turing machines.

I found this class particularly enjoyable due to its emphasis on interesting and challenging problems. While the textbook always gave enough information, the students had the difficult task of figuring out how to put it together. I also received a course citation for having the third best performance in a class of close to 200 students

CS230 - Computer System Principles

In this class, we studied the scientific principles underlying high performance, scalable systems. The course uses the C programming language and ia32 assembly to explore the features of modern architectures.

This course gave me an appreciation for the underlying design that allow for fast performance on modern systems. Understanding these systems is helpful for writing fast, efficient code. I also received a course citation for performance in this class

CS220 - Programming Methodology

CS220 teaches the skills necessary for the designing, implementing, testing and modifying larger programs, including design strategies and patterns, testing, working with large code bases and libraries, code refactoring, and use of debuggers and tools for version control.

The course was stands out because we wrote most of the projects from scratch, including our test code.

CS187 - Programming With Data Structures

This course introduces students to the design and implementation of abstract data types. Topics include linked structures, recursive structures and algorithms, binary trees, balanced trees, and hash tables.

I enjoyed learning about the positive or negative attributes of different data types and the potential use cases that these attributes imply. I also recieved a course citation for being in the top five students in a class of over 150.

Experience

Course Assistant and Java Developer.

Course Assistant, Umass Amherst

I work as a course assistant for the College of Information and Computer Sciences at Umass. I grade assignments and help direct labs of over fifty students.

RSA Internship

I spent the last summer working as a Java developer intern for RSA's multi-factor authentication solution, SecurID Access. I learned a lot from this experience about working in a professional development environment.

Projects

In my free time, I've developed various projects in Java, Python, and C.

Projects

I make games.

github.com/seth-tinglof
Portfolio Image
Hide

Scatter Blast

A color based shoot 'em up.

A shoot 'em up game where the player has to match the color of their shots to the color of the enemies. Written in C using the Simple DirectMedia Layer libraries.

The enemy shapes are randomly generated, and the polygons are rendered using a fast fill algorithm that I implemented myself.

Portfolio Image
Hide

Planes!

2D aerial dogfighting game.

A 2D aerial combat game where the goal is to get as many points as possible by shooting down enemy planes. The game is written in Python 3 and uses tkinter among other libraries.

The hitboxes are small, and the enemies are accurate, so quick maneuvering is essential to survival.

Portfolio Image
Hide

Maze Racer

Fast Paced Maze Exploration

A randomly generated maze game written in Java using Swing. The goal is to get from one side to the other in as little time as possible. Names and scores are tracked and saved in a text file.

The "blocker" shapes are randomly generated and the are placed randomly without being too close to each other.

Portfolio Image
Hide

Tile Explorer

Explore a large grid.

A game based around moving on a large grid, written in Java using Swing.

The enemies move when you move, giving you time to plan your actions.

Portfolio Image
Hide

Image Processing

An image utility

Processes and applies basic color filters to images. Written in python 3 using tkinter, Pillow, numpy, and matplotlib.

Numpy and matplotlib are necessary for faster operations, but a slow version that does not use these also exists.

Contact

Location

Concord, Massachusetts

Phone

Please Contact Email

Top