User Tools

Site Tools


haas:home:start

This is an old revision of the document!





Faculty Page of

Matthew Haas


at lab46.corning-cc.edu

General Information

Instructor:Matthew HaasPosition:Instructor
Faculty E-mail:haas@corning-cc.eduDepartment:Computer & Information Science
Division:STEM
Semester:Fall 2021
Office Phone:(607)962-9218Office:CHM123Lab:CHM123


Jump to my:

Courses

Schedule

Spring 2014


Lab & Office Hours typically mean I am available to answer any questions you may have. I will usually be in my R215 Office (by Appointment Only) or the LAIR (B007 downtown). Please note any specific locations as listed on my schedule. I typically try to leave a note on my door indicating where I will be if in exception to the norm.

My availability often exceeds designated times. Please stop by and see if I'm in my office or lab, or contact me.

About Me

I've been teaching at CCC since the Spring of 2002, and I enjoy the opportunity I get to help others learn.

My modus operandi is to promote learning and understanding in the respected subject area. In order for this intent to garner success, communication is essential. Never hesitate to contact me if you have any questions.

In this light, no question is insignificant– lack of communication can be detrimental to one's perspective. If you think your question is a “stupid question”, those are especially the type I like to hear.

One can never ask too many questions in my class. If something doesn't make sense or doesn't seem quite right, let me know! I'll be more than happy to help answer your question.

As Stephen Hawking, one of the world's foremost physicists, has been quoted to say:

“We should all keep asking questions. That is the only way we will ever get to know the answers.”

Interests

I am a firm believer of being passionate about one's work. It is essential to have that drive and enthusiasm, as well as the interest to generate new questions and push the envelope of knowledge and understanding. Here are some of the things that generate considerable interest for me (also interested? Come and see me, maybe we can work on a project):

Computer Science Education

When asked “What is Computer Science?”, I often have a difficult time explaining it in a single sentence. Computer Science, in a way, is the study of the universe around us, and specifically how it works. In Computer Science we strive to better understand the world so that it can be better understood and methods improved upon. Computer Programming is the common method by which Computer Scientists artistically craft their solutions.

Computer Science is also a methodology of thought- to study the world around us, we must be able to step back and take a critical look at it.. being able to have different perspectives are vital. Being able to employ critical reasoning, pattern recognition, and structured problem solving techniques allow some facet or problem that exists to be better understood, simulated, and solved. I am not interested in throwing information at you and having it spit back. My desire is to find innovative ways of getting you hooked on Computer Science and using it to further your intellectual journeys (whether as a student of Computer Science or another discipline).

It helps me to be successful in “passively taking over the world, 0 or more times”, each and every day.

C Programming

As I said, programming is a means for Computer Scientists to express solutions or ideas. It is a culmination of math, logic, and language (full with grammar and vocabulary). As such, there are MANY Computer Programming Languages. Each has its own place and purpose, yet some I feel go hand-in-hand with better understanding the computer.

The C Programming language is one of my favorites. I feel it holds great pedagogical potential, as well as being a very capable language in its own right. It puts you in contact with the nitty gritty details, forcing you to think about what the computer is actually doing. I feel that an understanding of C will aid you in being more proficient many other programming languages.

UNIX/Linux

UNIX and Linux are both computer Operating Systems (ie software that manages the hardware and allows you to perform work). In addition, UNIX and UNIX-like Operating Systems are constructed in a way that allows one to go in and figure out what is going on, and how it happens.. providing an excellent learning experience for Computer Science students to see many of the topics they learn about in action.

UNIX and C (the programming language) have been around for over 30 years… the combination of the two provides a rich educational heritage that continues to drive innovation. I also like to think of UNIX as a philosophy.. I often say that learning UNIX and C is akin to “learning the ways of the force”.. but there is some credence to that. Having a firm understanding of UNIX allows you to better solve problems, and really put the computer to work for you.

I encourage any interested body to learn some UNIX.. you never know where it can come in handy.

Assembly Language

Computers, as an artificial device are binary in nature (that is, they operate by switching on and off any series of 1's and 0's). Most programming languages abstract away this detail, but ultimately programs that are written have to be translated back into the computer's native dialect of 1's and 0's.

Assembly Language comes a lot closer, providing you with all the details.

Open Source Software & Principles

Open Source refers to a method of redistribution and sharing of ideas. Under the principles of Open Source, ideas, software, documentation, and other media are shared (instead of held back for fear of potentially losing money).

For education, having access to information that is used in coursework or study is vital for having a better understanding of the topic. The idea of “Open Source” is not new to society. It existed in the early age of computers, and anywhere ideas are shared (how effective would education be if you were restricted from using it at your job or other environments?).

High-Performance Computing

To plow a field, which would you rather have: Two strong oxen, or 1024 chickens?

While that question may sound crazy.. just think about the potential force 1024 chickens would have on a field. It is a strength in numbers. The same idea when applied to computers– what happens when you take a number of conventional, off-the-shelf computers and have them work together to solve problems?

High-Performance Computing (HPC) is believed by some to be the “next wave” of computing. I agree, but I also see it as yet another piece of the real world that we're starting to understand and simulate.

At CCC, we've been establishing an environment for students to study and gain experience with High-Performance Computing via the LAIR (Location for Abstract and Innovative Resources), which is a makeshift lab hosting our efforts.

Languages and Patterns

Did you know the world is filled with patterns and language? Most of us understand a few languages, but when you look beyond the actual words, there some interesting capabilities that can be harnessed by the computer.

Pattern Matching and Recognition is one such capability that once learned and understood can open the door to allowing you to instruct the computer to perform vast amounts of work for you. Regular Expressions are one such facility at our disposal that I'm crazy about.

The study of language is interesting as it shows you how to represent ideas, or what structures might be more suited for representing various pieces of information.

The Mathematics of Computing

We've all had math, for almost as long as we can remember. But what is it used for? Why did I learn trig and algebra and calculus? Will I ever use these Differential Equations?

Math, like pattern matching and programming, can be an effective tool in aiding us in our work on the computer.

Understanding the math can help us yield more effective solutions to problems and better utilize the resources of the computers we have at hand. Yet math is also one of those subjects many shy away from and only touch with a ten-foot pole. And I can relate. But I also see the advantages of welcoming math into my pursuits. Math does have its uses, and I am always looking to find effective ways of weaving it into my teaching where possible.

Writing

Have I scared you away yet?

First I talk about how great math is, and now I make explicit mention to writing. What kind of crazy person am I??

Writing helps us unlock the capabilities of our mind. By being able to express our thoughts in words, we can better document our logic and solutions to problems. The two go hand-in-hand, and there's no way of avoiding it without doing yourself a disservice.

I encourage anyone to maintain a journal, and update it every day or couple of days. I'm not interested in perfect english grammar, but like I said the portrayal of thoughts into words. The more you write the better.

“Writing should be like breathing; it is one of those important things we do.” – me

Projects/Activities

LAIR

the LAIR - Location for Abstract and Innovative Resources. This is the name of the High-Performance Computing Lab being put together for the HPC and UNIX courses at CCC. Located down at the Business Development Center in room B003, we sport an Athlon cluster and a myriad of other machines to provide an adequate infrastructure and computing environment for exploration, learning, and collaboration.

LAIRwall

We have in the LAIR a 4×3 tiled display wall we affectionately call the LAIRwall. This provides us with a resource to display high resolution imagery and explore areas of visualization, especially in a distributed fashion.

The LAIRwall has also been on display up on the main CCC campus for events like TECH DAY and the CCC Student Art show (where it displays various works of student art).

Hydroponics

As part of the LAIR sustainability initiative, we have been experimenting with hydroponics. Exploring areas such as technological integration, we are looking at ways of automating and optimizing the growing environment through the use of computers and sensors to both grow plants/produce, and also provide an application for students to apply their programming/script/system administration skills.

BITS

BITS - Bunch of Interconnected Technology Stuff. The name being given to a collaboration forming between the LAIR @ CCC, the DSLAB @ SUNY Geneseo, and resources at SUNY IT. With three sites, each with different resources, we are aiming to provide individuals at all three institutions access to this combined computing potential, exploring problems and situations inherent to High-Performance Computing. Project URL: http://www.cs.sunyit.edu/~scott/bits/

Armor Dynamics Project

Armor Dynamics Project - During the summers of 2006, 2007, and 2008 I have been involved at SUNY Geneseo providing computer cluster support to the Physics group doing research on this project, enabled through a NYSTAR grant awarded to SUNY Geneseo, Alfred University, and Armor Dynamics, Inc. I've maintained a cluster environment to run MPP-DYNA (a cluster-aware application that is a general purpose transient dynamic finite element program capable of simulating many complex real world problems). I've used this as an opportunity to experiment with virtualization and have written a job queuing system to aid the physics research group in submitting multiple jobs to be processed on the cluster.

haas/home/start.1390400700.txt.gz · Last modified: 2014/01/22 14:25 by wedge