I started programming computers in middle school, and in my early years I was completely self taught. Years went by, project complexity increased and I realized that there was a lot I did not understand. I knew heading back to school was the right path for me. Once there, I relished the deeper understanding I was gaining, number systems, algorithms, data structures, abstraction, user interface, databases, AI, and robotics. I also have been involved in many community and open source projects over the years. One such community had a big impact on my development. Combining my interests in software development and automobiles, I became very active in the early 2000’s in a grass roots community building “CarPCs”. This community's efforts on understanding and creating driver interfaces foreshadowed every car's entertainment interface today, be it Apple CarPlay, Android Auto or an automakers system like Ford's Sync.
I believe that it is the combination of formal education, practice and community that create a successful software engineer. Learning how to write and compile code is a necessary skill, but your ability to apply your skill in “out of the box” scenarios can be greatly increased when combined with a deep understanding of theory. At the same time, if you do not practice you will not succeed! I like to use playing a musical instrument as an analogy. I can promise you will never be a great guitarist without dedicating a significant amount of time to practicing it. The same is true of software engineering. Lastly, community not only helps bring out the best in the individual and promotes their growth, but inspires ideas and pushes your skills to the next level.
My goal is to discover the best ways to effectively teach Computer Science over web guided by these 3 fundamental values. This site will provide innovative and interactive opportuntities to promote community, education and practice.
My name is Brian Gormanly, I am a Lead Engineer turned Educator. I write software used in IoT, Robotics, Localization / SLAM. Software that has to deal with the physical world. I have also spent a great deal of time as a Full Stack web developer and architect primarily in the education sector.
I am a practitioner of Open Source and an insatiable hobbyist and tinkerer.
My current research interests include semantic SLAM and SIOP, a method of abstraction at the protocol level which which semantically describes interactions between hardware and software.