• White LinkedIn Icon
  • YouTube
  • github
  • download
  • research_gate

Career Goals

I am actively seeking a new position.  After 25 years in academia, I am seeking to return to my roots in engineering.  My background spans most of the discipline of computing and was cultivated through years of teaching undergraduate and graduate level courses, research and developmentpast work experience, and consulting projects.

headshot-thumbnail.jpg

Thomas H. Briggs, Ph.D. 

Computer Engineer

717-467-3005

Email:
Address:

203 Whitmer Road
Shippensburg, PA 17257

Phone:

Background

Ever since that day in elementary school, when I got my hands on a brand new Radio Shack TRS80, I was hooked.  I am a coder, and find great joy in tackling some complex problem and expressing it in language, for fun or for profit.  Check out my GitHub for some projects I've worked on.  Recently, I found a broken TRS80.  I was able to redesign a power supply, and bring it back to life.  

I was an early Linux evangelist. I started using Linux with the Soft-Landing-System, released 0.99 PL3 in 1992.  Back then, Linux was downloaded as a bunch of floppy disks.  I've been using it ever since.  As a student, I even ran a Linux server, cutter, for the campus.  We ran the first web server on campus, served thousands of users, and had 40 to 50 people logged on to a 486-33MHz!  Amazing by today's standards.

Most academics focus on their primary research areas, chase grants, and publish a bunch of papers.  Sometimes they're useful.  I've never been interested in that.  I've been fortunate to be able to reinvent myself, moving into new research areas as the situation demanded.  Board layouts in Allegro are about as far from computer theory and machine learning as one gets.  But I've always enjoyed that challenge, and find great satisfaction at coming up with innovative solutions that draw on all of the different backgrounds I've practiced. 

 

EXPERIENCE

 
2017 - Present

Professor

2010 - 2017

Associate Professor

2001 - 2010

Assistant Professor

Shippensburg University of Pennsylvania

Teach diverse range of graduate and undergraduate computer science & engineering courses.  Created B.Sc. engineering programs in computer, software, electrical, mechanical, and civil engineering, the first engineering programs in all of PA State System of Higher Education.  Program coordinator for computer engineering, led effort to earn ABET accreditation.  Created and managed the "Fab Lab," a rapid-prototyping facility for circuit board fabrication, surface-mount and BGA rework, testing, and programming; and SLA, SLS resin and nylon 3D printing.

2008 - 2010

Senior Engineer

Microtech Solutions, llc.

Senior engineer in charge of development team.  Built embedded applications and hardware for customer.  Held TS/SCI clearance.

1999 - 2002

Academic Information &
Technical Services Manager

Shippensburg University of Pennsylvania

Developed and maintained University web sites and services. Managed web development team. Participated in strategic planning teams, including enrollment management teams. Developed and maintained specialized data warehouse, including: extraction, transmission, and conversion of mainframe data to UNIX environment. Developed and maintained secure self-service web based information portals for students, faculty, and staff. Provided strategic information technology support the Academic Affairs division of the University.

1997 - 1999

Regional Hub Administrator

Shippensburg University of Pennsylvania

Overall administration and maintenance of the statewide distributed integrated library information systems. Developed system software to manage or automate system processes. Participated in fiscal planning and creation of project budget. Maintained system security, performance, and distributed networked backups. Liasioned with system vendors and client institutions. Maintained Oracle database server, web servers, and large list servers. Provided technical support services.

1993 - 1997

Library Automated Systems Manager

Shippensburg University of Pennsylvania

Developed and maintained GUI front-end to Unisys mainframe. Maintained network and computer systems. Managed student workers. Administered UNIX application server, NetWare file server, and cluster of UNIX workstations. Administered electronic reference databases. Participated planning and creation of project budget. Coordinated consortial purchase of electronic reference databases

1990 - 1992

Systems Administrator

Joseph Ciccone & Sons, Inc.

Systems administrator for multi-company heavy-highway contractor.  Managed AIX midrange and PC file server.  Developed applications for interfacing to accounting system.

EDUCATION

 
2002 - 2008

Doctor of Philosophy
Computer Science

Dissertation: Constraint Generation and Reasoning in OWL
Graduated with honors.

1997 - 2001
Shippensburg University

Master of Science
Computer Science

1993 - 1996

Bachelor of Science
Computer Science

Shippensburg University

Systems Programming Concentration, Member of ACM Programming Team

SKILLS

 

 Linux Kernel Programming - Advanced

MIPS, Intel, ARM Assembly - Advanced

OrCAD / Allegro - Advanced

Verilog - Advanced

Machine Learning - Advanced

Bayesian Belief Networks - Advanced

Semantic Web - Expert

Support  Vector Machines - Advanced

Algorithms & Analysis - Advanced

Agile Project Management - Advanced

SQL / DBMS - Expert

Xilinx ISE & Vivado - Advanced

TEACHING

Computer & Electrical Engineering  Courses

CMPE210 - Network Engineering

CMPE220 - Computer Organization

CMPE230 - Computer Security

CMPE320 - Operating Systems

CMPE322 - Microcontrollers

CMPE410 - Realtime & Mobile Development

CMPE411 - Advanced Operating Systems

CMPE420 - Digital & Reconfigurable Computing

CMPE499 - Engineering Development

ELEC100 - Programming for Engineers

ELEC422 - High-Speed Circuits

ENGR110 - Modeling & Simulation

Computer Science Courses

CPS253 - Computer Science I​

CPS254 - Data Structures and Abstract Data Types

CSC103 - Overview of Computer Science

CSC106 - Computer Science1 Lab

CSC110 - Computer Science 1
CSC111 - Computer Science II

CSC180 - Microcomputer BASIC

CSC220 - Computer Organization

CSC254 - Computer Science II

CSC310 - Design &  Analysis of Algorithms

CSC320 - Operating Systems

CSC371 - Database Management Systems

CSC394 - Special Topics - Semantic Web

CSC394 - Special Topics - Computational Music

CSC420 - Embedded & Realtime

CSC434 - Web Programming

CSC447 - Operating Systems

CSC476 - Artificial Intelligence

CSC499 - Student Research & Design

CSC500 - Discrete Structures

CSC520 - Computer Architectures

CSC521 - Operating Systems

CSC546 - Artificial Intelligence

CSC560 - Database Management Systems

CSC594 - Semantic Web

 
 

Projects

General Projects

  • GSuiteGAL - Plugin for MS-Outlook to link/synchronize a Google GSuite global addresses into an Outlook personal address book.

  • QuizExtractor - Extract SCORM quizzes from camtasia and create import files for D2L or GradeScope.

Embedded & Hardware Projects

  • BLDC Controller - Sensorless (Back-EMF) BLDC controller with soft-start.  Includes PIC32 code and OrCAD schematics.

  • I2C Controller in Verilog - A simple I2C controller in Verilog I developed for my YouTube channel.

  • Image2Gerb - Convert B&W images to Gerber files.

  • MIPS Pipeline Visualizer - A basic pipeline simulator for the MIPS32 5-stage processor.

  • NanoKernel - A simple, bootable kernel written in mixed Assembly/C project and labs to explore building a kernel from scratch. 

  • NetClocks - Convert cheap LED display to programmable, networked clock to display emergency messages.
  • NixieClock - Board design for the Nixie tube clock a built for my desk.
  • OLED - OLED demo project with text font for PIC32.

  • UART Library - IRQ driven UART code to handle standard I/O in Microchip PIC32 projects.

  • USB Charger - USB 2.0 charger designed to go into a blue, British police phone box model and flash an LED proportional to the charging current.

  • Railroad Signaling - A railroad signal controller for the Shippensburg RR Museum.

  • ShipCells - Virtuso VLSI cell library from the high-speed circuits class.

  • TivaC USB Creator - Fill out the form, it writes the .c and .h file for the Tiva C USB library.

AI & Machine Learning Projects

  • Clustering - A brute-force & spring-force implementation of clustering for unsupervised preprocessing.

  • CompositeKernel - An evoluationary algorithm for finding the best linear combination of kernels for SVM classification.

  • ConnectFour AI - An Connect-N player using minimax search with alpha-beta pruning.

  • JPDomainBuilder - Determines least-common-subsumer for the domains of each proper in an OWL ontology.

  • Knowledger - A FOL reasoner using Horn clause and skolemization written in Java.

  • mex-svm - a MATLAB "C" wrapper for the native SVM Light classifier and regression tool.  

  • Search - An abstract implementation of the Russell & Norvig state space search algorithms in Java.

RESEARCH AND PUBLICATION

Doctoral Dissertation

You can read my doctoral dissertation [UMBC] [Here]

You can also read my master's thesis [Here]

Embedded Textbook

A work in-progress, I've written 14 chapters over > 700 pages on embedded programming.  [Sample Chapter on GPIO]

Publications

More than 30+ journal and conference papers published.  [Full List]

Corporate Publications

Publications that have been adopted by industry partners. [Full List]

Grants

More than $500,000 in grants to support teaching and undergraduate student research.  [Full List]

Research Projects

Advised 30+ students in undergraduate and graduate research across a diverse spectrum of projects.  [Full List]

Invited Speakerships

Invited speakerships to present to a variety of audiences.  [Full List]