I have been training accountants, bookkeepers and other financial personnel on the use of accounting software packages for many years. Before anyone can learn how to use a tool such as a software package, they need to understand what the tool actually does for them. I am very familiar with training people on the actual accounting procedures as well as how to use various financial tools to accomplish them.
I first learned C working for a company that was developing office automation software (spreadsheet/word processor/database/etc, a la MS Office, years early) for the UNIX OS running on a variety of machines like AT&T 3B2 and 3B5 minicomputers. PCs barely existed at the time. The reference used was good old Keornigan & Ritchie! I have used C for a variety of projects, including porting the Korn shell from UNIX to another operating system for an AT&T satellite earth station controller, and controlling the hardware that did the mapping of information from international to domestic telephone line circuits.
My college degree is a Bachelor of Science in Electrical Engineering (BSEE) from Rutgers University. All my elective classes pertained to computer hardware and software, selected from the Computer Option under the Electrical Engineering curriculum. Every job I have had in my career has revolved around designing, building, testing and debugging computer hardware, software and networking components and systems. The digital circuitry components of my electrical engineering background gives me the insight essential to computer engineering.
Computer programming has been a staple of my professional career. I have had experience with a variety of different languages at numerous levels and types.
At the lowest level, I have had experience developing microcode for a custom processor. Assembly language for several different processors has been used to develop low level hardware interrupt routines and device drivers. I have used the "C" language to develop custom device drivers, firmware for custom hardware controllers, as well as kernel modifications in Unix systems.
I have done scientific and general purpose work in Fortran, developed a compiler/assembler for test equipment using the Pascal language, and built a custom email handling system inside the Emacs word processor using the LISP language.
I have written utility programs in various versions of the BASIC language, and done much shell scripting in the Unix Bourne and Korn shell languages.
I have also use the dbase/foxbase/FoxPro family of database development systems to write and maintain complete ERP (accounting) systems, order entry systems, warehouse and factory management systems, etc.
My college degree is a Bachelor of Science in Electrical Engineering (BSEE) from Rutgers University. All my elective classes pertained to computer hardware and software, selected from the Computer Option under the Electrical Engineering curriculum. Every job I have had in my career has revolved around designing, building, testing and debugging computer hardware, software and networking components and systems. The electrical engineering background gives me an even more fundamental insight into computers and digital technology than a computer science degree would.
Another blast from the past. While it is almost entirely supplated by Windows and other applications now, DOS remains the basis on which much of todays computing environment was based.
In 1981/1982 a group of us built our own single board computer systems (the big board!) that could support a single sided single density 8 inch floppy disk drive that held 320K bytes of data. The first data ever read off that disk drive was an old version of MS-DOS! Later we all thought we were kings when we upgraded the BIOS and hardware so the same drives supports double-sided double density drives! And the a 5MB Hard drive! Wow we were so advanced for our time! After the initial DOS systems many of us dumped MSDOS for TurboDos. A very cool upgrdade of the basic DOS.
One of the most important things to come out of DOS are scripting languages. Not only could you type commands in at the "C>" prompt, you could write a batch file full of these sommands and have them executed based on parameters you passed to the script. This is the same basic way scripting languages work now in Windows, Linux, UNIX and other operation systems.
Now which cam first is a chicken and egg question, but DOS introduced it to the masses.
BSEE in Electrical Engineering.Currently working as a software development engineer. Have worked in the past as a hardware and software test engineer, software QA engineer, hardware designer & developer, software developer, software designer, hardware/software liaison, consultant, database development engineer, senior project manager for software development projects, network engineer,
development support engineer and trainer.
Fortran was the very first computer language I learned. In high school, we had a some science teachers who were dropped into the middle of teaching the class, who admitedly didn't know what he/she/they were doing. But it was a great class. The highlight of that class was visiting NJIT and actuallly getting some of the programs we had written punched onto cards and submitted to the computer to be run.
As far as I know, not a one of us(including the teachers) got any meaningful programs to actually run, but I did successfully get my entire programming project to compile without errors!
In college in my freshman year my very first computer class was again with FORTRAN. In that class, our professor gave us a project to write a program in FORTRAN that tracked the grades for a group of classes using arrays. We had to use a minimum of 2 dimensional arrays. I was one of only 2 in the class that actually got the system working using 3 dimensional arrays.
In todays world FORTRAN is mostly outdated except for some scientific and teaching applications. However it is embedded in my brain, and I will always remember how to program in it.
I have been using Excel and other spreadsheets since the advent of personal computers. In addition to using and creating spreadsheets, I have also used excel to create applications for data entry, and gathering and consolidating information submitted by remote users for submission to a centralized database application automatically.
I have been using various email packages since the 1980's on UNIX machines running on ARPAnet! Since Windows 95, I have been pretty much using exclusively using Outlook (since it was called exchange!) in all its various versions, right up to Outlook 2010 and OWA with Exchange Server.
I am very familiar with setting up all the parameters need by outlook to establish a reliable consistent connection with most mail servers. I can show users how to use the features in outlook such as folders, the calendar, and daily task lists, etc. to keep themselves organized!
I have been using, installing and implementing systems under Microsoft Windows since Windows versions 2.x. While the first installation of Windows 2 seemed more like a toy than a useful environment, that all changed after seeing Microsoft Excel. That program changed my expectations of Windows, even though it would be several more years where the rest of the world continued running most under DOS.
Under Windows 2.x, through 3.1, Windows seemed mostly like an elaborate menuing system use to co-ordinate various DOS based programs. Starting with Windows for Workgroups (3.11) the networking capabilities began to come to the forefront. However it was not until Windows 95 that the most useful attributes of Windows began to surface.
Windows 98 and 98 Second edition continued the upward trend in usefulness and ease of use. At the same time, Windows NT versions 3.1 and later 3.5 began to show how much more robust Windows would become. Rewriting windows from the ground up as opposed to having it sitting on top of DOS gave the operating system the ability to withstand and recover from faults much better than before.
Of course we will try to forget Windows ME, but with Windows XP the operating systems seemed to have become a stable platform where things ran as they were supposed to. Windows Vista seemed to have its share of issues but the current version of Windows 7 seems to be stable and have a great deal of reliability.
Of course there were other versions of windows for phones and other platforms as well.
I have been involved in computer networking since the days of Novell NetWare 2.x. Early networks were set up with Arcnet (1.5MPS) and Ethernet 10MBPS using Coax cabling. Since taking my first Novell NetWare course, I have followed up with Microsoft Windows based networking (Windows for Workgroups 3.11) and Windows NT based networking, and on through Active Directory based systems. During that time hardware technology also advanced from coax cabling to twisted pair network cabling.
From there I moved into TCP/IP networking as the internet became an increasingly prevelant influence in all businesses.
Since 2001 I have been involved with setting up Wireless Lans (WIFI) for both private and public use.
Currently am well versed in using TCP/IP protocols such as DHCP and DNS to setup private networks that use routers and gateways to interface with the public internet. Mostly running under Windows 2008/2003/2000 based networks.
I am certified in Windows NT Server, Basic Networking, and TCP/IP.
Pascal was the second high level, (non-assembler) language that I learned. I remember spending hours reading Jensen and Wirth's Pascal User Manual and Report. Pascal was always talked about as a language that had its compiler written in itself. That was an interesting thought to get your head around!
The funny part about that is that at my first professional job, with Texas Instruments in Houston, my first real project was to write a compiler for a memory test system in ... you guessed it ... Pascal. Very fun and interesting project for a guy just out of college. I still use the source code from that project as a reference for examples to students today.
Pascal is often used as the program language for many courses teaching basic structured programming. It is an excellent language for that purpose. Pascal makes it easy to create and understand structured programs, and introduces the user to more advanced data types such as records, arrays, files, etc.
The user who masters Pascal will find it easy to move on to other popular languages such as Basic and C. Variants of the language such as Object Pascal add the concept of Object Oriented Programming to the language.
Physics is the study of the natural world, of matter and energy. My goal in teaching physics is to have the student understand the beauty of what is being discussed, so that he or she develops a natural understanding. From that understanding it becomes easier to reason through the issues, instead of trying to memorize a formula that might apply.
I've been working with UNIX since 1984. My first exposure to it was at a company that was writing an Office Automation suite of products (spreadsheet/database/word processor) for Unix, EONS before Microsoft made Office such a huge product. In retrospect we were so far ahead of the curve. Everything was command line based then, no GUI's to make things pretty.
The best thing about Unix was there are so many utilities built in that allowed you to do small pieces of what you needed to do. It was then a matter of putting those standard pieces together with the custom pieces you developed (either in C, or in sh or some other shell or scripting language such as awk or sed), to do the whole task you had to accomplish.
Speaking of shells, one of my favorite UNIX projects was porting the Korn Shell, from AT&T's Unix System V to another operating system that was used on a satellite earth station controller. Another very interesting project to say the least!