plc technology rediscovery

java code

codeNforce Municipal Workflow Management System

java code

CIT-111: Introduction to Programming Java

CIT-111: Course Essentials

Cross-Module Resources

Student Feedback!

Content: Chunks and Modules

Chunk 0: Java Workspace Setup

Chunk 1: Java Language Core

Chunk 2: Language Structures

Chunk 2.5: Fundamentals project

Chunk 3: Object-Oriented Java!

Chunk 4: Arrays

Chunk 5: Final Object Project

java code

CIT 130: Object-oriented design in Java

Course synopsis

As a second-term Java course, our focus shifts from language fundamentals to harnessing the beauty, glory, and magic of Java's object-oriented way of being.

Content links

Recommended text: Design Patterns: Elements of Reusable OO Software by Gamma, Helm, Johnson, and Vlissides

Content Modules & assignments

git resources

Course member repositories (Spring 2019)

Course modules


Agile team training videos pt. 1, 2, 3

Class member project

java code

CIT-244: Object-oriented design 2

Course synopsis

As a third-term Java course, our focus shifts from object design fundamentals to more advanced topics such as multi-dimensional arrays, file i/o, algorithm development, and data structures.

Content modules


Agile team training videos pt. 1, 2, 3

Class member repositories (Fall 2019)

Class member repositories (Spring 2019)

Computer & Internet Essentials

Misc tools

Cross-course resources

Misc tools

Data analytics


L.U.G. The Linux Users Group

A no-registration-required summer learning group centered on the Linux operating system and all of its magical open source glory. Meets weekly on Sunday evening from 8-9:30pm ish. Just show up anytime you want, even if you haven't been attending earlier sessions.
  • 20-Jun'21: Planning and Process mgmt
  • 27-Jun'21: Introduction to Networking (ifconfig, netstat ping, wireshark networking overview)
  • 4-JUL'21: No meeting, celebrate birth of country
  • 11-JUL'21: iptables, UFW
  • 18-JUL'21: Apache and other servers
  • 25-JUL'21: Email, JS, Java, Python servers
  • 1-AUG'21: RAID and backup tools, fstab: How to create a mount tree permanently
  • 8-AUG'21: SSHFS; mounting remote system on local file
  • 22-AUG'21: SSHFS;Server setup and config
Handy Linux Notes


Note: 15-AUG'21: Only 1 Attendee, so no recording

java code

CIT 245: Data Structures and Programming C++

Course catalog description

This is a course in software design and development which focuses on data abstraction and implementation of information structures. The course introduces the object oriented language C++. Topics include arrays, pointers, lists, stacks, queues, and trees.

Course resources

Core resources


Content modules

External resources

git resources

java code

CIT-115: Introduction to Information Systems

Course catalog description

This course uses the skills gained in CIT-111 and expands on the concepts of the software development process, data representation and storage, program control structures, objects and classes. Additional topics include event handling, arrays and window based graphical user interfaces (GUIs).

Course resources

External resources

Content Modules

Real forests inspire digital trees



CIT-120 & CIT-250: Networking

Course resources

External resources

Content Modules

java code

CIT-100: Computer Fundamentals Online

Migration to Blackboard: Based on student comments, all guides and links for this Fall 2018 course have been consolidated to Blackboard only. Necessary links to the pages also cross-listed here are located within our assignment directories.

Course schedule and session guide

java code

Data analytics Courses: DAT-102, DAT-203, DAT-281

Diving into the somewhat mystical process of converting rows and columns of numbers into useful information for decision making of all kinds: persona, business, organizational, and more.

DAT-102: Intro to data analytics


DAT-281: Project in Data Analytics

Data External Resources

Project Management Resources

Transportation Analytics

External resources

Screen cast of Mr. Mark Egge of High Street consulting exploring car crash data and the question: Does lighting make roadway travel safer? and see the accompanying code with readme

DAT-203: Visualization and BI

Visualization tools

File repositories

Content modules by learning domain

Content Modules

git resources

External Resources

Archived documents

To chew on

java code

DAT-241: Geospatial Data Analysis


External Resources

Screen cast of Mr. Mark Egge of High Street consulting exploring car crash data and the question: Does lighting make roadway travel safer? and see the accompanying code with readme

java code

DAT-129 - Programming Python: 2

For those truly inspired by the pythonic order, students in this course will continue their studies for a second semester and unearth the hidden treasures of today's uncannily popular programming language: Python.


Content by objective category

Fall 2020 Student Repos

Spring 2020 Student Repos

Essential external resources

Regexps: regexp howto and detailed re module

Past-term student repos

Class member code respositories (Spring 2019)


eric darsow teaching java via zoom

Phone Contact

Technology Rediscovery Shop Landline:

Please leave a message if your call is not answered and mention a good time to call back.

Mobile (Limited Use)

Use for "emergencies" only; please do not leave a voicemail message; texts probably bounce: 412-636-4235

Snail Mail

412 CIT Department, North Campus
attn: Eric Darsow
Community College of Allegheny County
8701 Perry Highway
Pittsburgh, PA 15237-5353

Come visit!

Classes are considered semi-public spaces and all visitors are welcome to schedule a time to visit using the contact information in this sesction

Electronic Mail

Acceptable email use cases:

  • Notice of broken links on
  • Submission of work or documents students wish not to be public
  • Document transfer
  • Exchange of complex web URLs
  • Password and access instructions
  • Non-time sensitive mass notifications
  • Legally binding communication requiring written documentation

Email misuse examples:

  • Meeting scheduling (call instead)
  • Notifications of absence from class (come next period; call a friend in class)
  • Questions about course content (call instead)
  • Concerns with grades or due dates (discuss in person)
  • Sensitive interpersonal concerns or issues (discuss in person)
Please prioritize in-person and real-time phone conversation over email. If you insist, or your communication falls under one of the following email use cases, you may reach me at the email address commented in the code (surrounded by the <!−− and the −>) directly after this blob of text. On most browsers right click &2212;> view [page] source will reveal it, and F12 will examine it with dev tools on most browsers.

java code

Student Projects and Profiles

Assembled from learning across disciplines, these sites are student-produced portals into computer and career-related explorations.

Computer Fundamentals Fall 2017

Java Fall 2018

Java Fall 2017

Object Project profiles from Spring 2017

java code

"Letter Grades"

Technology Rediscovery credit-course grading approach, past grade issuance documentation, and examples of student-submitted recommendation cards completed for various classes.

CCAC General

Materials and guest responses created during a 10-minute address at the opening of the Community College of Allegheny County's Innovation Lab classroom.

Teaching: Assessment

Various teaching resources, broadly applicable for student audiences in high school, community colleges, and organizations
Workshop delivered at CCAC's college-wide assessment day exploring methods for gathering student learning data and reacting to that data all in the course of a single lesson.
A companion to the assessment process underway for CCAC's associates degree in computer information systems (050.3) which prepares students for transfer into a four-year IT-related degree program. A Java-medium exam instrument, this document details test items, preliminary results, and plans for course revisions based on assessment data.
[Late-stage draft under development] High-stakes, point-scored test often erodes learning culture by entangling the exploration of interesting content with stress-inducing point-based grading systems. This document describes an assessment system that expands the traditionally test-centered approach to include informal, frequent micro-assessments.
Teaching Portfolio (June 2017):Lesson activities, unit plans, reflections on student work, and sample learning objective evaluation matrices.. 89 pages with extensive Table of Contents (PDF)
Curriculum Guide (Computer Mapping, 2017):Community-oriented digital mapping: The YES high School summer scholars program (PDF | 30-pages | 10.2mb). Structured around a two-month community-based research program, this guide provides unit- and lesson-level objectives and assessment measures appropriate for students learning computer mapping fundamentals.
"White paper" (2016):Data Fluency for Organizations - Key Principles (PDF) Derived from work on various projects relating to digital information processing, data visualization, and "data-based" decision making.
Curriculum Guide (HS College Prep, 2014):College and Career Readiness (high school course) unit plan, unit schedule, lesson objectives, and a sample lesson plan. (PDF) Prepared for the College Readiness Department of Achievement First Charter Schools in New Haven, CT.

java code

CCAC Resources

Employment & Internships

java code

Carpentry and Electronic Projects

Choose the one right tool. If turns out to be the wrong one, try another...and so forth.
Roof Garden Transport System (RGTS): Funicular 1 construction profile and specifications. Feb 2017. A somewhat exhaustive construction profile for this project including a bunch of diagrams, photos, and technical design notes.
Project report: Linux network design and implementation, CentOS server configuration, network security | Fall 2015 (PDF) Full project description complete with network diagram, configuration guides, and learning process reflections.

code enforcement

CodeConnect Municipal Code Enforcement Database

The Turtle Creek Valley Council of Governments has partnered with Technology Rediscovery to implement an open source code enforcement database application which was planed and designed in the Fall of 2016 at CMU. The project is mid-way into beta design and has a scheduled beta testing phase a the end of 2018

Project Source Code (JavaServer Faces)

Project Source repository on GitHub: Developing repo for project code, implemented in JavaServer Faces with a PostgreSQL back end. Actively seeking developers interested in working on this open source project who have experience with front-end development.

Project tools & Technology Links

java code

Melda Scientific (1999-2006)

Lab-based chemistry course curricula

Explore newly released course curriculum archives from Melda Scientific courses taught in Rochester, MN from 1999 through about 2006. Composed of only 2-5 sessions, these were the first pilots of so-called burst education. [All files in PDF format]

Make bubbles, grow mold, dissolve stufff, and analyze crystals left over from evaporated solutions made with household solutes. While not linguistically tight, this manual was the foundation for the Crazy Chemists successful multi-day science class series.

The poor quality of the copy machine at the corner gas station does not do justice to the exciting series of lab procedures this guide outlines.

This course guide formed the basis of dozens of extra-curricular chemistry classes designed for students ages 10-14 held in Melda Scientific's 2126 Lab in Rochester, MN from 2002 through 2005.

Melda Scientific founder teamed up with the CEO of Electro Explorers to offer Rochester summer students a five-day, action-packed summer science exposure camp complete with the decarbonation of surcrose by fourteen-molar sulfuric acid!

Over two after school sessions, students were guided through the construction process of the Estes Corporation's Gemni-DC model rocket kit. Students and families met in a park on the Saturday following the class to launch their creations hundreds of feet into the air.

Melda marketing materials

java code

Youth-targeted tobacco advertising data camp
Partnering with Youth Enrichment Services (YES) | July, 2018

About Data Project: Summer 2018

Partnering with Youth Enrichment Services (YES) based in East Liberty, Pittsburgh, Technology Rediscovery LLC and eight high school/college-bound students are investigating youth-related marketing strategies of big tobacco companies.

Content links

Research profiles

Summer researchers assembled a personal research profile containing bio info, research logs, and findings.

YES Summer Research Program: Lead exposure in Lincoln-Lemington

Pittsburgh, PA (Summer 2017)

Directed by the East-Liberty Nonprofit organization: Youth Enrichment Services (YES), students in the summer research program investigate the extent of lead exposure (great wikipedia article) in the Lincoln-Lemington neighborhood and organize community action to reduce exposure. This section features content relevant to the mapping task team which Eric advises weekly.
Mapping module curriculum guide and teaching reflections (PDF | 30-pages | 10.2mb)Discussion of mapping-related skills taught and activities implemented during 40 hours of student sessions during July and August 2017 including: suggested lesson content, student work, reflections, and tool profiles.
Student outcomes matrix and proposed content extension (PDF | 7-pages | 90kb) Students developed skills in the following domains: academic research, field data gathering and analysis, and geospatial information tools. Each domain is broken down into knowledge and skill areas with a record of achievements and future learning suggestions.
Quick "1-Pager": High School summer community action research program -- Mapping component (PDF 453kb)Brief glance at the skills developed by the mapping team working on the larger lead(Pb) research program. Includes screen shots of final map products and lessons learned.
Summer research program overview (Published by YES; PDF)

External Resource Links

flushing toilet

Home Improvement 101

Zoom through many of the major topics in home repair, drawing on the hard-earned wisdom of the student and instructor. With hands-on practice, familiarize yourself with fasteners, material types, sheetrock basics, electricity, plumbing, and working with contractors.

Course Info:

OSHER Lifelong Learning
Summer 2017 | 19 May - 23 Jun 2017 | Fridays 3:15-5:15 pm
OSHER classroom, CMU Hunt Library (Completed)

Learning Materials


Melda Scientific

Introduction to Computerized Mapping (CCAC LND-201, Sp 17)

Course Syllabus

Course Schedule and class session links

Great student work artifacts

Final Project Guidelines

ESRI Online - For building a story on ArcGIS online

java code

Site Content Use License

This site's content (text, code, documents) can be used without permission or attribution as described in site's content use agreement.