Computer Science
Some Projects:
===========================================================
For my OOAD class, our team did a Home Appliance Control System:
HACS Part II,
HACS Manual
For my AdvOS class, I did a demo of various timestamp schemes:
AOS Project 2
Here are some of my current thoughts on Computer Science:
===========================================================
Computer Science v. Software Design
Computer Science should be renamed to Computational Science as it deals
with a variety of computations that just happen to be implemented on
modern (and not so modern by testimonials of many college students)
computer systems. It is science "in the raw", or a "hard" science, if you
please.
Software Design is the study and design of software components for human
interface with the goal of presenting the user with a well crafted and
asthetically pleasing environment. It is a "craft" skill and a"soft"
science.
While the two deal with with computers, they are not the same. However,
they are not mutually exclusive either. They overlap.
Increasingly now, Computer Science students are being asked to perform
Software Design in their various projects at the whim of instructors who
either are ignorant about the differences between these sciences or know
very well that much in the way of Software Design principles are NOT
being offered in the curriculum. Many of these students don't have a clue
as to the difference between these two disiplines. While some have a
"degree in natural talent" concerning Software Design, any course you
choose to survey will show how glaringly bad Software Design is
implemented in Computer Science. This is often compounded by the fact
that the students must demonstrate in a presentation these badly designed
projects and receive grades for their effort--much of it geared toward
the asthetics of the presentation! Currently, I don't see how the
Computer Science curriculums can be modified to stuff yet another course
into their offerings.
On top of this issue is the one about actually implementing Software
Design. There exists many User Interface toolsets a student may use for
Software Design. However, many are source language dependent. Languages
like C++ don't directly support GUI's with code libraries while languages
like Java do. However, languages like C++ have GUI builders that allow
a user to craft a UI in a highly abstract manner--through another GUI.
These builders allow the coder to design a screen while the tool creates
the framework code. The coder extents the code to link it to the desired
application. For languages like Jave, I have not seen any GUI building
tools. The UI construction is left to the coder to implement directly in
code, which leaves a lot to be desired when attempting to craft a "good
looking" application.
Back to that odd, rather depressing, melancholy Home Page.