Introduction
My name is John Rine. I have four children: Erica, David, Gretchen, and Nathan. I also have <html><strike style='color:red'>three</strike> four </html> grandchildren: Victor jr., Lilianna, Daniela, and <html> Gabriel</html>!
On August 6, 2009, the anniversary of the dropping of the A bomb on Hiroshima, I was separated from the company where I worked for 12 years. Since I was unemployed, I found that I qualified for educational benefits and enrolled for the Fall semester 2009 at Corning Community College. In December 2010, I graduated with an A.A.S. in Electrical Technology-Electronics and a A.S. in LAS General Studies program each with a 3.85 accumulated GPA. At the same time I have been enrolled in the IT-HPC and Computer Science programs. Since graduating from the Electrical Technology program, however, I have been seeking employment as being unemployed has taken a heavy toll on my family's financial situation. On July 15, 2011, I was hired as a Process Technician at Corning, Incorporated's Sullivan Park Research and Development facility. This semester will be interesting. I will be employed full time and attempt a full course load. I can, however, see the light at the end of the tunnel as this is my last semester. If I am successful, I will graduate with an A.A.S. in IT-HPC and a A.S. in Computer Science.
Data Structures Topics
http://lab46.corning-cc.edu/haas/fall2011/data
The following is a list of the major topics being covered in this course:
- Version Control (checkout, commit, update, add, log)
- Pointers (address of, assignment, dereferencing)
- arrays, pointer arithmetic
- pointers to pointers
- null pointers
- void pointers
- function pointers
- Static allocation vs. Dynamic allocation
- Memory allocation (malloc(), new)
- Memory De-allocation (free(), delete)
- structures
- structure pointer
- Linked Lists
- Doubly Linked Lists
- Stacks (array-based, linked-list based)
- Pushing
- Popping
- Top
- Overflow condition (where applicable?)
- Underflow condition
- LIFO or FIFO?
- Queues (array-based, linked-list based)
- Enqueuing
- Dequeuing
- Overrun and Underrun conditions
- Computational Complexity
- Big-O, Theta, bounds
- Sorting Algorithms
- Selection sort algorithm
- Bubble sort algorithm
- Insert sort algorithm
- Quick sort algorithm
- Merge sort algorithm
- Binary Search algorithm
- Trees, Binary Trees (nodes, parents, children)
- insertion
- removal
- searching
- traversal (pre-order, post-order, in-order)
- Graphs
- Hash Tables (keys, collisions)
System Programming Topics
http://lab46.corning-cc.edu/haas/fall2011/sysprog
The following is a list of the major topics being covered in this course:
- UNIX Systems Programming
- User space
- Kernel, Kernel space
- Users, Files, and the Manual
- File Access (open, read, write, lseek, close)
- File descriptors
- Buffering
- System Calls
- Directories and File Properties
- File Types and File Properties
- Bit Sets and Bit Masks
- User IDs, Group IDs
- Focus on File Systems
- Filesystem Structure; inodes and data blocks
- Directories
- Links
- Connection Control
- Device files
- Race conditions
- Atomic Operations
- Streams
- Terminal Control and Signals
- Blocking vs. Non-Blocking
- Signals
- Event-Driven Programming
- Alarms, Interval Timers
- Reentrant code, critical sections
- Asynchronous input
- Processes and Programs
- UNIX process model, processes
- Parent/Child processes
- Shell Variables and the Environment
- I/O Redirection and Pipes
- I/O Redirection
- Pipes
- Servers and Sockets
- Client/Server model
- Coroutines
- Connections and Protocols
- Server sockets
- Client sockets
- Zombies
- Programming with Datagrams
- TCP vs. UDP
- Distributed Systems
- UNIX domain sockets
- Threads
- Multithreading
- Creating/destroying threads
- Sharing data between threads
- Synchronizing data
- Inter Process Communication
- Named pipes
- Shared memory
- File locks
- Semaphores
HPC I Experience Topics
http://lab46.corning-cc.edu/haas/fall2011/hpc1
The following is a list of the major topics being covered in this course:
- lab operations
- maintenance X
- logging X
- accessibility
- upgrades X
- backups X
- documentation X
- resource usability
- remote administration
- on-site administration
- security - internal X
- log analysis
- troubleshooting X
- security - external