User Tools

Site Tools


haas:vita2019

2018-2019 Academic Year Report

Instruction

The prevailing challenge these past few semester has been with respect to the basic essence of student learning. What was once a rare student lacking intrinsic motivation has only become more and more the norm; where students don't seem to possess any curiosity to learn things unfamiliar or different to them, but instead are concerned only with memorizing and regurgitating a fixed set of answers.

Needless to say, Computer Science and the very nature of problem solving does not mesh well with such perspectives- where often times not only is a preset path to solution not known up-front, but often multiple approaches to solution must be readily considered. Students who just want to jump through the hoop and be done with the current exercise are demonstrating a cripplingly short-term view, disconnected from the larger picture of where I am trying to guide them within the computing domain of study.

Still, where I am able, and where I capture their fascination (increasingly, through video-game centric themes), I can rekindle the kind of cerebral interactions academic settings thrive on. Witnessing curiosity and enthusiasm are infectious, even if largely in an artificial dream world (the majority of students aren't going to secure jobs in the highly competitive and over-saturated game industry), so I can at least hope that some will recognize the similarity of patterns with things not specifically painted in that “video game” veneer, and further cultivate those essential abstract perspectives necessary for success within Computer Science and applied fields.

Overview

My subjective perception of each semester is in many way a psychological game I play with myself- tricking myself into being inspired by the current crop of students, where their accomplishments feel substantial, even if when looking in the broader picture, they are more brittle and less capable than students even 3-4 years ago.

This past year, in combination with me failing to adequately dupe myself to the current lack of cerebral quality of most students, along with perhaps yet another sizable slide in student aptitude (again: lack of intrinsic motivation and interest in anything that isn't specifically “video games”), I have to claim a level of increasing disappointment with how the recent semesters have gone.

Are there adequate and capable students? Absolutely. Do they perform acceptably? Most certainly.

The problem for me, and what sours my overall view, are those on the lower bound of achievement. It is here I am continually shocked by what I discover:

  • students with a very fixed and near-sided short term view of everything. There is no connecting of concepts from this week to the next, or a few weeks prior. Everything is some unique task, and no energy is exerted to recall knowledge or experiences from prior activities to help them avoid similar pitfalls in new tasks.
  • student reasoning is seemingly limited to the tangible and direct as never before. They need specific, memorizable examples, which they then desire to regurgitate as-is into the neatly-provided blank. The concept of a variable or anything remotely abstract (or most things indirect), seems to go over their heads. They won't ask questions, they won't even try to wrap their heads around it. They'll do the parts that seem tangible and direct, then stop cold (as if hitting a wall), unable to proceed when any amount of thought is necessary.
  • their behavior indicates a long, established history of operating in this limiting mindset. Their desire to memorize and regurgitate has been catered to, and perhaps in some ways still actively catered to, providing them no opportunity to cultivate these important cognitive abilities prior to hitting my computing classes. On a number of occasions, I've had students come in for “help”, the day a project is due, not even having started, yet seemingly of full expectation they will be given all the answers, and do not understand the point of starting early (because they've never had to do so before, it would seem).
  • they “work together” in ways that allows the weakest link to persist. Those who understand do not realize they are being gamed by those who do not, weaseling steps and information out of others preventing them from gaining and building experiences of their own. I've had to refocus many of my projects to incorporate far more randomness and variability in order to decrease the economics of this natural “helping” tendency. Still, the compassion seems to run strong.

The good

Still, I maintain hope and inspiration in seeing what the good students are capable of achieving, with suitably-themed emphasis (ie “video games”):

  • students showing up not only in time for class, but BEFORE class begins. Eager to get started, or spend more time on their class-related endeavors.
  • students showing confidence and excitement in their work, and speaking of it in broader and more abstract perspectives than just specific actions they've taken on their project.
  • questions are more detailed, fluent, and conceptual: possessing a greater awareness of the situation (they don't “don't know”, they instead realize a challenge and apply some reasoning to what that challenge may be).
  • in collaborative efforts, the work load is shared; I am not seeing one act as a parasite off another. Instead, each person plays off their strengths, collaborating and contributing in productive fashion.

Admittedly, it is very inspiring to experience these sorts of interactions from my students. It reminds me of the days when students naturally came into my classes possessing of these attributes, versus me having had to personally cultivate it in baseline fashion in each of them.

The bad

Generally the same as usual, just more amplified:

  • lack of time management skills
  • lack of thinking skills
  • lack of observation skills
  • lack of motivation
  • impression that “school” is nothing more than doing familiar things already known to them.
  • impression that “school” is simply memorization and regurgitation.

specifics

Some course-specific points related to instruction:

  • In general:
    • further integration into my data collection and reporting infrastructure. This allowed for convenient class-wide analysis of metrics, as well as per-student access to their data to view course progress. This continues to be a regular work in progress, and such a delightfully large problem where I can focus on different aspects as interest permits.
    • all syllabi for courses taught in a given semester see updating (they are generated from templates integrated into my content management system, so any changes made tends to impact everything).
    • due to the new Distance Learning policy, along with the introduction of the online IT: Systems Administration program, I have reviewed my course content and presentation with the campus Informational Technologist, and received a glowing report.
    • more quantitative/rubrick-oriented data points, especially related to assignment evaluation, which is tying nicely into my course assessment efforts.
    • Raspberry Pi incorporation. This has been an idea floating around in my head for years, which finally saw some dramatic progress this year.
    • reporting and visualization: I was able to make some further inroads in performing automated and custom visualizations of collected data, which I have been integrating into many existing reporting resources (especially resources shared with each class).
  • CSCS1320: C/C++ Programming
    • further refining and optimization of projects to dovetail into follow-up courses
    • updating of material to reflect changes in student capabilities
    • various anti-cheating strategies employed (ie making projects “un-google-able” for those seeking to just copy and paste answers without thinking).
      • my projects tend to be this way by default, but the longer I run with a theme, the more information about it tends to be recorded/discovered (ie strictly range-based prime number trial-by-division algorithms)
      • I frequently locate existing code samples on the internet, look for implementation patterns, and alter my project specifications so as to require students to conceptually understand the concept (they can still reference the on-line examples, but they will not be as useful to them barring a viable understanding, which is as it should be).
    • so many seem to come in with pre-conceived notions of what the class should be about. As I cover the basics, they realize how “mathematical” and “logical” these computer things are. For those who want to “do video games”, this is an eye-opening, if not sobering experience for them.
  • CSCS1730: UNIX/Linux Fundamentals
    • UNIX continues to be “the best class they've ever taken”. Where they may be struggling or confused by concepts in other classes, UNIX often solidifies and clarifies things for them, allowing them to succeed not just in my class, but in their other classes. It doesn't happen immediately, but as the semester drags on, more and more come to the realization of how profound and valuable the course is for them.
    • I've had specific requests for MORE of a certain theme of projects, which I call “puzzle boxes”, which require a sort of creative problem solving and applying of skills in order to solve.
    • incorporation of Raspberry Pi single board computers enabling students to interact with GPIO-connected peripherals.
  • CSCS2330 Discrete Structures
    • some great longer-term exploration of concepts under various themes, including:
      • prime number computation
      • data encoding/decoding
      • file compression/decompression
    • activities requiring basic logic (bitwise ANDing/ORing) continue to be a challenge. A lot of attention is then spent on covering and exposing students to these important concepts, but resistance remains strong (they'll still try to avoid it when they can, even reverting to longer math algorithms just to avoid short and concise logical solutions).
    • I placed specific restrictions on how they could NOT go about solving problems, to enable them to explore other paths to solution.
    • I gave weekly logic puzzles (logic grids, word math, sudokus), which were largely met with disdain and loathing, but those who hunkered down and worked through them saw the following benefits:
      • they developed better critical thinking and reasoning skills
      • they ceased being “the first solution that comes to mind is my solution”-type implementors. They would increasingly evaluate their solutions and pursue other ones if the current one was deemed inadequate.
      • their indirect reasoning skills improved dramatically (the realization of secondary and tertiary details, or “side effects”, as a result of performing some primary action).
      • some even grew to enjoy the puzzles, and starting picking them up as an extra-curricular recreational habit.
  • CSCS2650 Computer Organization
    • I adopted a “video game” theme, allowing the students to apply the course concepts to a specific system, the 6502-based mid-1980s Nintendo Entertainment System.
      • Various game implementations were producted, along with showcase/promotional videos: https://lab46.g7n.org/haas/games
        • I have already utilized these videos and games in various outreach presentations I have done.
        • One of the games created won the “People's Choice” vote at the 2019 CCC Student Expo.
  • Future considerations:
    • I am tempted to roll out some iteration of the weekly puzzles into my other classes. They work particularly well in Discrete, but are certainly applicable everywhere.
    • I am exploring other numeric manipulation problems as potential project themes, to move away from an increasingly familiar “prime number computation” theme (good and important, but many examples abound on the internet).
      • abundant, perfect, weird, and deficient numbers (greek numerology) is increasingly looking like an excellent multi-concept umbrella for Discrete.
      • instead of prime numbers, tweaking the specification a little bit. What about numbers that have exactly TWO sets of factor pairs (one and itself, plus another– this would include some squares, and require some specific algorithmic considerations). I am calling them “secondary numbers”, and this would end up being a viable theme to explore in both CSCS1320 and CSCS2330 (at the very least).
    • data visualization. I continually toy with this idea, implementing it here and there. I'd love to work it in as more of a base-level topic.
    • more “multi-solution” projects. Require not one solution, but (at least) two. I've dabbled in this in various classes with great success, and a wider deployment seems in order.

Advising

  • Due to the comfortable atmosphere of the room and interacting with students, many would come to me with concerns related to challenges in other classes. This has led to some early interventions, including dropping of classes to ensure success, changing programs to align with better identified student interests, etc.
  • I’ve instilled a desire that “earlier is better than later” with respect to signing up for classes. I was getting questions about fall courses 1-2 weeks before registration even started.
  • With registration underway, many an advising experience began with “are you free any time today?” to which the timing was right, enabling me to say “how about right now?”. So many of my advising experiences came about this way.
  • I presented at both the Fall 2018 and Spring 2019 CCC Open House events.
    • The spring open house ended up being of a different format, which I found far less flexible (all sort of crammed together into one big competition with other programs). I had a good starting group, that hung around for my presentation, but the format really wasn't conducive for those less certain of what they wanted to pursue.

Professional Development

  • I attended the 2019 GREAT Day at SUNY Geneseo
  • continued to polish my suite of command-line math operation tools (pipemath), which was directly utilized in a project by students (making them go through the entire software build process– download, read instructions, compile, install, use).
  • enhanced my suite of measurement unit conversion tools (unittools), which was also directly utilized in a project by students (similar software lifecycle process encountered). Additionally, it offered some students an opportunity to further bridge both their CSCS1320 and CSCS1730 classes together, seeing how the two classes and concepts covered therein were not two isolated entities.
  • exploring patterns of factor pairs of numbers (prime, secondary, tertiary, etc.) and potential visualizations therein. My efforts so far are already hatching ideas for future CSCS1320 and CSCS2330 projects (at least), with areas spanning from output specification, algorithm implementation, algorithm optimization, and visualization.
  • My “French relearning” efforts continue, although they are increasingly changing to a “Language Study and Observation” focus, for I have also commenced on the learning on German.
  • Maintaining the student workstations, addressing the contemporary security issues of the day, and incorporating new functionality (much of it requested by top-tier students seeking added resources for exploring course concepts).
  • My development efforts, along with preparing new/updated projects, has had me revisit and become more acclimated with various development tools, including: Makefiles, version control/repositories.
  • What started as a UNIX project to further cultivate critical thinking has blossomed into a wonderful project and exploration of its own: letter division. I had introduced this in my UNIX class, but students in my other classes wanted a turn. Additionally, friends of various students tasked with the project got hooked, and apparently it has even caught the interest of some in the Engineering Science program.

Service

  • Attended 2019 Computer & Information Science Advisory Board meeting
  • Maintain Lab46, the public UNIX shell box that Computer Science and IT students utilize for much of their coursework and explorations (now celebrating its 19th year in existence)
    • there were some notable security vulnerabilities this year, requiring quick and emphasized maintenance
  • Maintain CHM123, the Computer Science/IT lab (aka “the LAIR”). This includes student workstations, project machines, servers, and network infrastructure.
    • As stated above, various security vulnerabilities required some priority maintenance to ensure secure and continued operations.
    • The main router, in service for over 10 years, finally gave up the ghost with its drive finally failing (around October breakweek in the fall semester). A true testament to a well-configured machine, able to serve its purpose and doing so admirably.
    • Setting up a new router and all its related services (firewall, routing, DHCP, DNS).
  • Provided continued support and administration of cluster resources to Dr. James McLean for his physics particle simulations at SUNY Geneseo (once supposed to have wrapped up by September of 2017, but the very attempt to wrap it up seemed to invigorate new development, and I found myself setting up a new cluster, now in use).
    • this is a continuation of activities related to the Armor Dynamics grant back in 2008. I've been maintaining the cluster for this project ever since.
    • in addition to general cluster administration, there has been increasing logistics of late as we deal with not only data backups, but drive replacements and RAID rebuildings.
  • presented programming at the “Full STEAHM Ahead” event (08/01/2018-08/02/2018)
  • presentation at STEM Day (11/20/2018)
  • participated in the Horseheads HS Science Club Career panel (03/29/2019)
  • presentation at the College Life Program (04/26/2019)
  • presentation at STEM Academy (05/03/2019)
  • supported student exhibition at CCC Student Expo (05/10/2019)

Teaching and Curricula Objectives

Objective Anticipated Completion
develop projects for Pi-oriented C for engineers underway, aiming for fall 2019
develop database of letter division puzzles currently underway
continue my efforts to revive CSCS1460/CSCS2460, and retiring CSCS1320 slow-going, but I'm increasingly seeing support in pursue this
general enhancements/evolutions/progressions of my data/content management efforts always on-going
explore the development of some projects allowing students in CSCS1320 to 'make' NES games fall 2019

Advising Objectives

Objective Anticipated Completion
keep doing what I'm doing; I seem to be quite accessible to students for advising efforts (both my own and those who are not my official advisees) on-going

Professional Development Objectives

Objective Anticipated Completion
continue my French relearning/Language Study and Observation endeavors the true aspiration of knowing a language is to never stop using it; ideally I'd love to create content, but in general, on-going insights from being multi-lingual (it really is the gift that keeps giving)
continue to explore my agricultural pursuits, both as a developed skill but as a theme for concept presentation extended exposure to new domains allows me to better isolate familiar computing patterns
explore Calculus from a philosophical point-of-view this keeps popping up on my radar; I've just not had the opportunity to delve into it. With an increasing number of students being plug-n-chug calculator centric, I feel I need to expose them to the conceptual underpinnings of calculus, especially to aid in algorithm development

Service Activity Objectives

continue to implement resources with the major infrastructure reboot, there are still a number of auxiliary services not yet back in operation
continue to maintain infrastructure whenever I get to it - not critical, but long term useful as current software ages
general content management system enhancements on-going, functionality generally implemented as needed
haas/vita2019.txt · Last modified: 2019/05/20 09:45 by 127.0.0.1