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 ExperienceProfessional 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 CoursesComputer ScienceComputer Science IData 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 IMathematical concepts of Boolean algebra. Combinational and sequential logic. Registers, counters, memory and arithmetic design. Computer Science IIRecursion 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 SystemsMultiprogramming 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 ProgrammingSystem 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 IIHardware 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 ConceptsSurvey of several high-level languages, their compilers and inherent data structures. Formal description of high-level languages. Languages: ML, Prolog Software SystemsProblem 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 EthicsIssues 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 PrinciplesDistributed systems architecture. Process synchronization. Distributed operating systems, file systems and database systems. Languages: C, Java, C++. Computer NetworksComputer network architecture. The OSI seven-layer reference model and communication protocols. Network services. Projects for current applications. Languages: C, Java, C++. Object-Oriented Software DevelopmentTechniques 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 SystemsIntroduction 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 ComputationPopulation-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 StatisticsCalculus and Analytic Geometry ILimits, continuity, differentiation, applications of derivatives, integration. Calculus and Analytic Geometry IIIntegration techniques and applications, inverse functions, topics in analytic geometry, sequences and series, improper integrals, plane curves. Discrete Mathematics ILogic, proof, mathematical induction, finite and infinite sets, relations, functions, introduction to number theory. Linear AlgebraMatrices, matrix operations, systems of linear equations, determinants, geometry of R-n, vector spaces, subspaces, linear transformations, inner products, eigenvalues. Vector and Multivariable CalculusVectors, functions of several variables, gradients, multiple integrals, vector fields, Green's & Stoke's theorems, applications. Discrete Mathematics IIBasic 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 SimulationProbability 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 EngineeringIntroduction to Engineering ProfessionHistory 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 SolvingMAPLE and C, will be used to model and simulate problems drawn from the engineering disciplines. Circuit Analysis ICurrent, 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 DesignNumber 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 INewton'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 IIWaves, 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) :) |