User Tools

Site Tools


haas:vita2018

This is an old revision of the document!


2017-2018 Academic Year Report

Instruction

Teaching continues to be a great source of inspiration for me. I am constantly exploring new ways to suss out a concept, or encourage understanding (despite resistance to the contrary). And it is one of those gifts that keeps giving: to encounter, again and again, each new mind where I have been able to influence some increased comprehension and even cognition, clearing away ignorance and confusion, really motivates me and energizes me to keep going.

Overview

In recent years, I would recall each semester as simultaneously the best and worst I'd ever experienced. There would be an ever-widening chasm between the good students and the terrible ones, with no signs of such trends letting up.

For the first time in a long while, and I'm not sure what really brought it on, I've actually started feeling a general sense of the semesters being far more productive than detrimental.

To be sure, the terrible students are still challenging my perceptions of basic requirements of college eligibility and even human sentience, but somehow their embrace of mediocrity and ignorance isn't impacting me as acutely as it has in semester's past.

The bad

Describing the terrible students is, once again, predominantly NOT behavioral, but chronic and acute deficiencies in aptitude, discipline, and overall cognition. Last year I lamented on their shaky foundations when it comes to basic writing skills, computer literacy, file management, mathematical reasoning, reading comprehension, and time management. Those same issues persist, and I've got some new ones to add onto the list:

  • issues with language fluency: students increasingly do not appear to have a strong grasp on the english language. This makes communicating somewhat challenging. From temporal insensitivities to using the word “just” in a sentence to full out not knowing a number of words to a lack of awareness to cultural colloquialisms:
    • basic conversational skills: many students are unable to communicate in any sort of detail or eloquence. Some don't feel shy to speak up: they simply don't know how to communicate.
    • inadequate vocabulary: they increasingly suffer from a lack of vocabulary. I will get beleaguered with “what does that word mean?” with increasingly surprising word candidates: tenet, obfuscate, obscurity, subjective/objective, transaction. I have even had to go over how one goes about looking up familiar words (even electronically, where they can use their fancy phones to do so!). Needless to say, my attempts do not appear to have been heeded. Many just ignore everything if they don't understand even a single word, no questions asked, no nothing.
    • unfamiliarity with colloquialisms: “get your foot in the door”, “I need a guinea pig” are but two examples. I am finding I have to routinely break down my words and simplify how I say things in order to get my point across. Even to the good students.
    • unfamiliarity with examples: perhaps not surprising, yet maybe a bit more sudden than I was expecting. They don't know what a “land line” is, so all the serial communication concepts are lost on them. The smart phone way of doing things seems to be quickly eclipsing the previous ways, and this causes problems for them in the learning process.
  • information processing/bandwidth: perhaps a consequence of this interconnected smart phone reality, too many have grown so acclimated to 'instant gratification' and getting ushered to whatever information they think they need, that their ability to juggle larger quantities of information has been significantly compromised. Some are unable hold attention reading through a couple paragraphs. Give them a chapter in a book, or a set of informative web pages to read, and they simply cannot cope with such a task. Quite sad, considering this is a core responsibility of being a denizen of a computing discipline.
  • basic concepts of a file: smartphones obfuscate notions of data structure and file organization from the end user. Yet, ANY developer needs familiarity with files and paths. To be sure, I've been shocked at how quickly the average student does not comprehend the nature of a file. What were previously basic to the point of pointless exercises in class are quickly becoming challenging and advanced topics, and I've had to react accordingly.
  • listening comprehension: there's a rash of inability to listen and productively react to what I am saying in class. They seem unable to connect theory with practice: if they don't immediately see the relevance, they'll ignore it, only to complain they've never encountered the concept before when an assignment comes along taking them to task on it. I've actually had the perverse pleasure of pointing these very students to their own electronic notes they took in class on a given day, proving that they HAD, in fact, encountered such topics before (but again, if they're just acting as mindless automatons and not thinking about the stuff, it becomes no more familiar).
  • brute-forcing mentality: too many seem to think education is all about memorizing and regurgitating. Or trying every possibly conceivable combination, divorced from reasoning. They are wanting to BE computers, versus being people who instruct computers. I once again blame smart phones for 'training' them in this way.
  • locked into short-term perceptions: the 'immediate gratification' atmosphere encouraged by their everyday environment has students increasingly locked into seeing tangible things only in the here and now. This sabotages their ability to predict or contemplate future possibilities, especially if they are of a less direct or intangible nature. This can be a problem for effective problem solving (and again, another 'basic skill' that has morphed into a new and challenging skill).

Like reading, writing, and basic numerical reasoning, many of these deficiencies are skills that require time to develop fluency, and students have historically had prior exposure to many of these concepts. That no longer seems to be the case. I now have to be the one introducing them to basic file concepts, giving them a primer on english vocabulary, AND giving them their first exposure to abstraction. And still build on top of them to proceed with the course at hand. I am certainly game for a challenge, but I feel sorry for these students, deprived of so many basic aspects of modern basic education, and it impacts their abilities, and of even expressing their humanity.

The good

Still, I maintain hope and inspiration in seeing what the good students are capable of achieving:

  • taking after my example, or taking my advice, and running with it: I show them basic information design ideas and encourage regular documentation, and they start to perform the practice, realize how valuable it is to document their progress.
  • even if unfamiliar with certain technologies, the students who take the time and effort to use them, even for other purposes, has consistently enhanced their comprehension and overall success in the class.
  • asking various questions that aren't directly related to class material, but more around the edge; this shows a deeper thought and exploration of the concepts.
  • some excellent time management skills. Students who immediately start and set to work on a project once it is released, with regular questions being asked, often having the task completed (and deeper understanding gained) with a considerable amount of time remaining until the actual due date.
  • community: my room often becomes a student life activity of sorts. Students will flock to my room around their main classes to spend time working on their projects and interact with other students in the program. It has been quite a rewarding experience.
  • creativity / thinking outside the box: my classes tend to be a first opportunity to truly start problem solving and thinking outside the box. For many, their prior educational experiences have not been encouraging of such activities, so my classes tend to give them an environment to start actively and critically thinking, and even more importantly: exploring and playing.

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).
    • more quantitative/rubrick-oriented data points, especially related to assignment evaluation, which is tying nicely into my course assessment efforts.
      • with the CS program review this year, I have made tangible progress on the course assessment-specific domain of things. Incorporating ILOs, PLOs, CLOs, and making the necessary connections between all relevant data points (and reporting on those connections, as well as available data).
    • 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.
  • 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.
  • 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 2016 and Spring 2017 CCC Open House events.
    • I actually saw some of the fall attendees act on their interest and took classes with me this spring semester.
    • The spring open house turn-out had even more enthusiasm, including people in attendance who were already scheduled and signed up for classes.
  • I recruited a new student through indirect means: when the student was browsing the internet with his father investigating class/school options, they (especially the father), was taken by my apparent style and philosophy, and told the student he needed to speak to me. After our initial conversation, both student and father showed up the next day and we discussed programs and I got him set up into Computer Science (they really liked what they saw, and heard, and experienced).

Professional Development

  • I attended the 2017 GREAT Day at SUNY Geneseo
    • attended a talk on bilingual code switching (which demonstrated to me many interconnections of Computer Science and Linguistics, and lent consideration to certain approaches of concept presentation).
    • attended a talk on applications of GIS, which turned out to include some nice applied problem solving strategies for ekeing out additional insights from data sets. I've toyed with the idea of using GIS as a theme in some projects, and seeing it “in action” by its prime audience was most insightful.
    • among many others, sampled some posters/student projects on topics ranging from Discrete Structures to Financial Algorithm Modelling to Soundscape analysis. All in all, a very enlightening day, refueling many Computer Science interdisciplinary insights and giving me some new project ideas and concept presentation strategies/themes.
  • wrote a 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).
  • wrote a 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.
  • wrote a very feature-rich prime number computation tool (pncX), sort of a culmination of many of the in-class efforts, complete with extensive command-line arguments, file processing, process forking and threading. I then stripped it down and placed the skeleton in a repository for my CSCS2730 class to develop some important collaborative development skills on in completing the implementation.
  • 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 seem to have finally taken off from the plateau I've hit this last year (constant effort, less perceptible advances- par for the course in language learning).
    • Reading: increased ability to read operating instructions, text.
    • Writing: more related to grammar/structure of the language, I've made many subtle connections with respect to word roots and verb conjugations by composing/translating ideas/sentences into French as a means of practice or interest.
    • Listening: a tangible improvement in listening comprehension skills in French. Able to pick out more words, even unfamiliar ones, and increasingly able to backprocess them in follow-on contemplation.
    • Grammar/Structure: this has always been my primary focus, if not interest, and directly applicable to Computer Science. I've had many insights, especially pedagogical, as I realize something new and can map it to my students encountering new material, optimizing my presentation methods to be better suited for them. Word roots and language patterns reach a level of near infinite fascination for me, as they are insightful on so many levels (and informative of overall language structure, idea encapsulation). In many ways it ties into the value of solving a problem in multiple ways- it leads to a deeper understanding of algorithm development.
  • Maintaining the lab systems, 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.

Service

  • Presented various department student awards at the 2017 Student Awards Luncheon
  • Attended 2017 Computer & Information Science Advisory Board meeting
  • Assisted Institutional Advancement / Communications by playing the Geneseo Knight mascot for a CCC vs. Geneseo video during the 2017 SUNY Mascot Madness competition
  • Maintain Lab46, the public UNIX shell box that Computer Science and IT students utilize for much of their coursework and explorations (now celebrating its 18th year)
    • there were a few zero-day and local root exploits this year, requiring quick and immediate maintenance
    • there have been at least two power outages experienced on campus, requiring maintenance
  • Maintain R108, the Computer Science/IT lab. This includes student workstations, project machines, servers, and network infrastructure.
    • As stated above, zero day/local root exploits required some priority maintanence to ensure secure and continued operations.
    • Power outages similarly required some dedicated time (unravel file server synchronization issues).
    • The file server this past year has been experiencing some odd performance degradations. No errors, merely unanticipated high load and stalling performance. I ended up building a new one and deploying it, and performance issues resolved.
    • The classroom workstations (pods) that were upgraded to a customized Debian 9 Linux continued to be upgraded through this year. Two different system images have emerged, as I've “bulked up” one table with more resources/multimedia capabilities for more advanced project work.
  • Provided continued support and administration of cluster resources to Dr. James McLean for his physics particle simulations at SUNY Geneseo.
    • 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.

Teaching and Curricula Objectives

Objective Anticipated Completion
instantiate N-ary factor pair explorations into CSCS1320 project sequence possibly summer 2017, aiming for fall 2017
instantiate N-ary factor pair explorations into CSCS2330 project sequence possibly summer 2017, aiming for fall 2017
instantiate abundant/perfect/deficient number explorations into CSCS2330 project sequence possibly summer 2017, aiming for fall 2017
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
in CSCS2320 or CSCS2330, explore the implementation of a graph and/or hash table project(s) assuming we get that far, fall 2017

Advising Objectives

Objective Anticipated Completion
keep doing what I'm doing; I seem to be plenty 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 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)
explore agriculture and carpentry, both as a developed skill but as a theme for concept presentation some students come from agricultural and carpentry backgrounds; it may be helpful to have deeper insight into these areas for encapsulating concepts in examples
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
explore the haskell programming language Haskell is a functional programming language, and my endeavors have yet to really dig into this paradigm. Like French, it could offer up increasing insights and approaches to solutions

Service Activity Objectives

rebuild Lab46 an activity I perform every few years to keep software up-to-date; depending on software release schedule
update infrastructure to Debian 9 or similarly modern system 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/vita2018.1525718206.txt.gz · Last modified: 2018/05/07 14:36 by wedge