About Me - Personal Projects - Classes - Contact

About Me

Family History


I am the youngest son of Allen and Marilyn Harrold. My father works for Butler Manufacturing Corperation, he graduated from the University of Nebraska in 1973 with a degree in Architecture and went on to get a Master's Degree in Mechanical Engineering from University Of Colorado. My mother currently is the manager of a Cokesbury Christian Book Store, she Graduated from The University of Nebraska in 1973 with a degree in Elementry Education. My older brother, James, recently graduated with a degree in Chemical Engineering from Colorado School of Mines and is currently pursuing a masters degree in Metallurgy.

Personal School History


I graduated from Shawnee Mission South Highschool in Overland Park Kansas in May 2006, and am Currently pursing an undergraduate degree in Software Engineering at Kansas State University.

Programming History


I started programming computers at a fairly young age. I remeber teaching myself, with some help from my dad, Visual Basic 6 from a book when I was in Second and Third Grade. In Sixth grade I learned Qbasic using the computers we had in the classroom, and the following summer I took some summer classes in Qbasic programming that were being offered by my school district. In middle school I taught myself the basics of html and webprogramming. In highschool I took 2 years of Java programming and took the Computer Science AP test.

Programing Lanuges


Because of the fact that I have been programing for such a long time I am familiar with many different languages and if there is a language I need to know, I can learn it and become proficent in it in a very short time. I know the following Languages:
C
C++
C#
Java
PHP
JSP
JSF
HTML
CSS
Basic
Javascript

Job History

Application Developer - Office Of Mdeidted Education
September 2008-Present
Worked in several systems improving code, fixing problems and developing new pages and features as requested by instructors and administators at K-State.
Sotware Tester - Office Of Mediated Education
April 2008- September 2008
Performed testing of defects on K-State Online, Axio Learning, K-State's EIS system, and K-State's Person Database Tools. Learned regresion testing techniches.
Summer Worker/Electrition - Pro Circut INC.
May 2006-August 2006
Was a summer helper before coming to College. Helped rewire a local middle school and replace all the light fixtures.
Sales Associate/Mechanic - R/C Zone Central
March 2005-April 2006
Worked on and sold R/C cars. Also helped maintain an online store and shipped orders.

Hobbies

When I am not writing software I have several hobbies to help my fill my time. These hobbies include videogames, working on my car, building computers, and remote controlled cars. And while not not a hobby, I am also very passionite about my home theater setup and have spent many hours researching the ways to make it as good as I can on a fairly limited budget.

Personal Projects

  • Personal Porfolio Page

    What you are looking at right now. A page to hold personal information for potenial employers to look at and learn more about me. My first attempts at javascript animation. I also strived to make it meet all W3C standards for XHTML 1.0 and CSS.
  • Ajax Chat Room

    My First attemp at ajax, so I decided to make someone thing that could be useful. Currently only has one room but my plans are to expand it to have several rooms.
  • Personal Home Page

    This is a page for me to use as a homepage on all computers that I go on. The current version of it can be found here and is made with php reading a text file in and using javascript to choose a random background that matches the user's screen size. It is currently limited to one set of links maximum because of the hard-coded nature of. The version currently in development can be found here, and uses a mySql database to populated the headings and links. It has user accounts so that users that I allow to create accounts can do so and make a version of the page just for themselves. Many of the functions are done with ajax to reduce the number of times the background is downloaded from the server.
  • Photo Gallery

    A photo gallery to hold my photos. Made with php to read the files in from the directory and then uses javascript to position and display the photos. I choose to make it read through the directory because I was looking for a solution that didn't require a database to keep updated or a flash file to update everytime I wanted to add photos. I also made a PhP page that works as a script to go through all the directorys and look to see if there are any photos missing thumbnails and then creates them if it needs to. If I were updating my photos more often this could be run as an hourly kron job.
  • TechPinion.org

    A tech news blog. I am still working on the last few details of this but it is basically a tech news/blog site for myself to give my oppion on diffent tech news storys. I made this because I didn't want to use a premade content management system like so many people are doing these days. I think that the content management systems are great for people who don't know how to program but shouldn't be used by those who can.
  • Unlinker for iPhone

    Javascript bookmarklet for use on the iPhone. Work similar to Unlinker for Firefox. Used to make browsing of webforms simplier when several photos have been linked. This funciton will look at a page and create a new tab on the iphone containing all the pictures that were put as links on the current page. This funtion can also be modified to work with Opera web browser or Safari web browser.

Classes

Completed Courses

  • CIS200 - Fundamentals of Software Design and Implementation

    Took in highschool as a part of the Computer Science Ap Course.
    Principles of algorithm design and their application to procedural programming: state, control structures, functions, modules. Patterns of conditional and iterative control structure. Program testing. Introduction to data structures, classes, and objects. Programming projects.
  • CIS300 - Data and Program Structures

    A study of common data and program structures together with associated algorithms. Topics include interfaces, design patterns, arrays, stacks, queues, lists, trees, hash tables, recursion, binary search, and tree traversals. Experience with both use and implementation of these structures and algorithms using a modern programming language. Discussion of tradeoffs involving performance and software maintainability.
  • CIS301 - Logical Foundations of Programming

    Logical formalisms used to model and reason about computer systems. Propositional and predicate logic, syntax, semantics, and proof theory; soundness and completeness issues. Mathematical induction. Program verification: invariants and program logics.
  • CIS308 - C/C++ Lab

    Fundamentals of programming in C and C++
  • CIS415 - Computers and Society

    A study of the impact of computers and associated technologies on society, including such topics as ethics of computer use, computer fraud, protection of privacy; legal, moral, and public policy-making responsibility of computer professionals.
  • CIS450 - Computer Architecture and Operations

    Introduction to modern computer architectures: register transfer abstraction, addressing modes, basic operations (data transfer, arithmetic/logic, and control operations). Understanding relationships of higher-level language constructs to corresponding assembly instruction sequences generated by compilers. Relationships studied include storage classes to memory organization and function invocations to activation records. Introduction to interrupts and low-level I/O operations.
  • CIS490 - Topics In Computer Science: Game Programing

    Learned how to program games using C++ and C# using Windows GDI, DirectX 9, and the XNA development platform. Also learned how to program simple AI, collision detection, physics, and matrix transformations.

    Projects

    • Brickout
      First basic windows game. Uses the Windows GDI for graphics. Similar to the classic game Breakout but with the game board rotated sideways.
    • Tank Shooting Game
      Windows GDI game that features tanks that shoot at each other. Has terrain smoothing to increase the visual appeal of the game.
    • 1942 Clone - Choppa
      Top down scrolling shooter. Uses DirectX and C++.
    • Platformer Game
      Based on the XNA Starter Kit for platformer games. Has been modified to use a true physics engine.
    • RPG-Dream Hands
      Based on the XNA Starter Kit for RPG games. Most of the work here was focused on creating a story and maps for the world.
  • CIS501 - Software Architecture and Design

    Principles and patterns for design and structure of software, development of object-oriented models, examples of software architecture.
  • CIS505 - Programming Languages

    History, programming language concepts including type, scope and extent, abstraction mechanisms and control; programming paradigms, including one or more of logic, functional, and object-oriented programming, and programming languages supporting the selected paradigms; interpreters, compilers and virtual machines for the selected languages; storage management and garbage collection; type checking and type inference.
    All projects for this course were done in the fucntional language OCaml
  • CIS560 - Database System Concepts

    Concepts, approaches, and techniques in database management. Representation of information as data, data storage techniques, foundations of logical data models, data retrieval, database design, transaction management, integrity and security.
    For our final project, I built a webstore interface that allows an admin to access, edit, and create product records in invintory. The running webstore can be found at http://cis.ksu.edu/~rharrold/560.
  • Math551 - Applied Matrix Theory

    Learned how to use a matrix for more than just a storage structure and how to manipulate them for processes such as image storage, image compression, internet search, or for 3d scaling.

Current Courses

  • CIS544 - Advanced Software Design and Development

    Advanced concepts and practicum in object-oriented analysis, modeling, design, implementation, testing, and use of CASE tools; relationships among structural, static, and dynamic models; relationship among conceptual, system, and implementation models.
  • CIS625 - Parallel Programming Theory

    Architecture, design, modeling, implementation, and verification of concurrent, parallel, and distributed software; aspects such as real-time programming, parallel simulation; fault-tolerant programming; grid computing, embedded systems control.

Upcoming Courses

  • CIS562 - Enterprise Information Systems

    Data modeling for business applications, database management systems, relational data model, normal forms, query language, security features, web access and scripting languages, development process and management, issues in management of enterprise information systems.
  • CIS540 - Software Engineering Project I

    The first semester of a two-semester capstone course. Current practices of software development, requirements, design, prototyping, measures and evaluation. Specification, design, and prototyping of a software system.
  • CIS541 - Software Engineering Project II

    Continuation of CIS 540. Final implementation, integration, and testing of a software system. Introduction to configuration management, project management, and software maintenance.
  • CIS551 - Introduction to Computer and Information Security

    An introduction to computer and information security, including common attack techniques, application of cryptography in security, authentication and authorization, network security, enterprise network defense, web security, and analysis of design flaws that render a system vulnerable. Course projects provide hands-on experience on both the defense and offense aspects in cyber space
  • Other Electives TBD

Contact

E-Mails

rharrold@ksu.edu

roberth9000@gmail.com

Social Networks

Click to see my Facebook
Click To See my Twitter Click to see my LinkedIN
Valid XHTML 1.0 Strict Valid CSS!