Moening.org

Development‎ > ‎

My Background

I'm pretty much a computer geek, thus I've decided to keep an updated record here of computer science topics and technologies that I have poked around with and also my list of those which I am planning on learning.  The goal is to try everything eventually. If you see something I'm missing, let me know. Note that I'm also starting a comprehensive list of my college courses taken.

Associations

  Current

  • Association for Computing Machinery (ACM) (Professional) - international scientific and educational organization dedicated to advancing the arts, sciences, and applications of information technology.
  • Glacial Lakes Software Professionals (GLSP) - A group of software related professionals from the businesses in Alexandria and surrounding areas.
   Past
  • Association for Computing Machinery (ACM) (Student) - international scientific and educational organization dedicated to advancing the arts, sciences, and applications of information technology.
  • Upsilon Pi Epsilon - National Honor Society for the Computing and Information Disciplines

Programming Languages / Technologies Experience

Professional Technology Experience

  • Languages/Formats: AJAX, ASP.NET MVC[1.0], C, C++ [STL/MFC], C# [3.0+], COM, CSS, HTML[4.0+], JAVA[1.4,1.5,1.6; Swing; JNI], JavaScript, LINQ, SQL, XHTML, XML, XSLT
  • Operating Systems: Windows XP Professional, AIX
  • Databases: DB2 [7,8], MS SQL Server [2005/2008]
  • Tools: Eclipse, MS Visual Studio [2005/2008], VI/VIM, IIS 6, Apache 2.0, Jira, Confluence, Doxygen, TeamCity, SVN

Academic / Personal Technology Experience

  • Languages/Formats: CLIPS, Ladder Logic, MatLab, MIPS assembly, ML, Motorola 68k assembly, PHP, Prolog, Python, Ruby, VB, VBScript, VHDL, WPF, XAML, X86 assembly
  • Operating Systems: Windows [95,98,98 SE, ME, XP Home, Vista Home, 7 Premium], Linux[Ubuntu, RedHat, SUSE, DSL], Mac OS X Leopard
  • Databases: MySql, MS SQL Server [2005/2008] Express, SQLite
  • Tools: Eclipse, MS Visual Studio [2005/2008] Express, MS Visual Web Developer 2008 Express, IIS 7, Apache 2.2, Trac, Doxygen, Mercurial

Degrees and Certifications

  • BS Computer Science : St. Cloud State University

"There is a division in the student population between those who go to college to learn and those who go to college to earn a diploma."
- J. Blau (letter to the editor, Chronicle of Higher Education, May 24, 2002)

BS Courses

  • Computer Science

    • Computer Science I

      Data abstraction, elementary data structures, and dynamic data structures. Sorting and searching. Error handling and recovery. Time and space analysis of algorithms and big-O notation. Linked and sequential implementations of the list, stack, queue, set, and matrix abstract data types. Time management. Languages: C++.

    • Computer Architecture I

      Mathematical concepts of Boolean algebra. Combinational and sequential logic. Registers, counters, memory and arithmetic design.

    • Computer Science II

      Recursion and recurrence. Trees, binary trees, 2/3 trees, directed and undirected graphs, searching and sorting, program layering. Sequential file processing, indexed files, and hashing techniques. Languages: C++.

    • Introduction to Operating Systems

      Multiprogramming operating systems concepts. System structures, functions and services. Process scheduling and synchronization. Primary storage management. Secondary storage organization, directory and file management concepts. Access and information security. Performance analysis. Languages: Java.

    • Systems Programming

      System calls for process creation, destruction, management and synchronization, and file and directory management. Operating systems implementation and installation. Languages: C, C++, X86. OS: MINIX.

    • Computer Architecture II

      Hardware organization and implementation of computer architecture. Instruction set considerations and addressing modes. System control concepts. CPU control, microprogramming, I/O interface and memory organization. Projects for current applications. Languages: MIPS, Motorola 68K, X86, VHDL.

    • Programming Language Concepts

      Survey of several high-level languages, their compilers and inherent data structures. Formal description of high-level languages. Languages: ML, Prolog

    • Software Systems

      Problem solving strategies and concepts applied in the context of issues associated with the design and implementation of software systems using a combination of current software packages/environments. Subjects addressed include file processing, data modeling and mapping to storage structures, data base systems, and software design and implementation. Languages: C++.

    • Computing Ethics

      Issues of software reliability and risk, private property, gender, minority, multicultural perspectives, privacy, the effect of value systems on computer science. Issues of computer ethics affecting individuals and society.

    • Distributed Systems Principles

      Distributed systems architecture. Process synchronization. Distributed operating systems, file systems and database systems. Languages: C, Java, C++.

    • Computer Networks

      Computer network architecture. The OSI seven-layer reference model and communication protocols. Network services. Projects for current applications. Languages: C, Java, C++.

    • Object-Oriented Software Development

      Techniques for identifying and specifying objects, object classes and operations in designing software. Development of a major project using object-oriented analysis, design and programming techniques. Languages: Java.

    • Expert Systems

      Introduction to the theory and applications of expert systems. Knowledge acquisition and representation. An expert systems language. Design and evolution of expert systems. Languages: CLIPS.

    • Evolutionary Computation

      Population-based search heuristics inspired by biological evolution. Representations and operators. Specifying parameter values. Hybridization with local search and other search strategies. Constraint handling. Theory. Languages: C++, Java, Python, Ruby.

  • Mathematics and Statistics

    • Calculus and Analytic Geometry I

      Limits, continuity, differentiation, applications of derivatives, integration.

    • Calculus and Analytic Geometry II

      Integration techniques and applications, inverse functions, topics in analytic geometry, sequences and series, improper integrals, plane curves.

    • Discrete Mathematics I

      Logic, proof, mathematical induction, finite and infinite sets, relations, functions, introduction to number theory.

    • Linear Algebra

      Matrices, matrix operations, systems of linear equations, determinants, geometry of R-n, vector spaces, subspaces, linear transformations, inner products, eigenvalues.

    • Vector and Multivariable Calculus

      Vectors, functions of several variables, gradients, multiple integrals, vector fields, Green's & Stoke's theorems, applications.

    • Discrete Mathematics II

      Basic counting techniques, permutations and combinations with and without repetitions, binomial and multinomial coefficients, inclusion-exclusion, pigeonhole principle, recurrence relations, generating functions, complexity of algorithms, introduction to graph theory.

    • Applied Probability and Simulation

      Probability distributions and random variables, simulation of random variates, probability modeling, applications to Markov chains, queuing models, reliability and survival; use of software. Languages: C++.

  • Science and Engineering

    • Introduction to Engineering Profession

      History of engineering achievements, social impact of engineering, critical thinking and engineering problem solving and design; engineering careers and work opportunities, professional responsibilities and ethics.

    • Engineering Problem Solving

      MAPLE and C, will be used to model and simulate problems drawn from the engineering disciplines.

    • Circuit Analysis I

      Current, voltage, and power; independent and dependent sources; Ohm's law; Kirchoff's laws; single-loop and single-node-pair circuits; resistance and source combination; voltage and current division; nodal analysis, mesh analysis, linearity and superposition; source transformations; Thevenin's and Norton's theorems; inductance and capacitance; transient response of RL, RC and RLC circuits; computer-aided analysis. Programs: PSPICE.

    • Digital Logic Design

      Number systems, Boolean algebra, logic gates, combinational and sequential circuits, MSI based design, programmable logic and memory devices. VHDL synthesis, computer aided analysis and simulation. Lab with design emphasis. Languages: VHDL

    • Classical Physics I

      Newton's laws of motion; work and energy; linear momentum; rotational motion; equilibrium and elasticity; periodic motion; fluid mechanics; temperature, heat and thermal properties of matter; laws of thermodynamics.

    • Classical Physics II

      Waves, normal modes, and sound; electrical force, fields, and potentials; capacitance and dielectrics; current and resistance; DC circuits; magnetic forces and fields; induction, AC current; E-M waves; geometric and wave optics; optical instruments.

MS Courses (Bound to happen eventually) :)