2014 Distance C# Development Classes

Posted January 1, 2014 by ProfReynolds
Categories: C# Classes, Distance Programming Classes, Lonestar College, Software Development, web 2.0, Web Application Classes

Once again Lonestar College will be offering distance-only C# development classes in the Spring of 2014.

Classes to be taught this semester are:

Introduction to C# (COSC1420) The course will instruct the student to basic programming constructs using C# and Microsoft Visual Studio 2012 / 2013. The student will learn the basics of the C# language and develop a basic Windows application. Language, Class, and Object fundamentals will be taught. A brief introduction to database interfaces may be included.

Advanced C# (ITSE 1492) The course will instruct the student to advanced programming constructs using C# and Microsoft Visual Studio 2012 / 2013. Successful course completion will require the development of a deployed Windows application (including the creation of a setup file). Other topics include multi-threading, user-controls, reflection, SQL and ADO (introductory), event handling, and Office 2007 Look and Feel.

Web Applications (ITSE 2472) The course will instruct the student in the development of a simple Web Application using an array of web application tools: HTML, CSS, JavaScript, C#, and SQL. Successful course completion will require the development of an Internet (Browser-based) application including rudimentary SQL interfaces.

Contact me at Mark.E.Reynolds@Lonestar.edu for additional information. Or visit my college blog at http://lonestar.edu/blogs/markreynolds.

(If you have not had all of the prerequisites for a course, contact me and we will discuss your options. Or you may contact counselor Erma Walker at Erma.M.Walker@Lonestar.edu.)


Agile and The Grand Parkway (around Houston)

Posted September 20, 2013 by ProfReynolds
Categories: Software Development

Tags: , , ,

While attending a meeting about the Grand Parkway (http://www.grandpky.com/home/) a comment was made about how the overall design of the parkway was set but the details were being worked so that construction could begin without the detailed design set in stone.

What a cool way to demonstrate the concept of agile software development!

As we all know, the Kanban approach to Agile Development has its roots in the 1940s at the Toyota plant. In effect, Toyota implemented Just-In-Time principals to improve efficiencies, reduce down time, and reduce inventory storage space. Kanban has been applied to the software development process with elegant Kanban Boards – both physically and virtually. However, non-developers do not understand the concept so I’ll try, today and in the future, to provide non-software examples to the Kanban approach.

Thoughts on Data Mining

Posted March 10, 2012 by ProfReynolds
Categories: Data - Information - Knowledge - Understanding - Wisdom, Data Mining, Knowledge Systems

Tags: , , , ,

Data mining (sometimes called data or knowledge discovery) is the process of analyzing data from different perspectives and summarizing it into useful information (see prior blogs including The Data Information Hierarchy series). The term is overused and conjures impressions that do not reflect the true state of the industry. Knowledge Discovery from Databases (KDD) is more descriptive and not as misused – but the base meaning is the same.

Nevertheless, this definition of data mining is a very general definition and does not convey the different aspects of data mining / knowledge discovery.

The basic types of Data Mining are:

  • Descriptive data mining, and
  • Predictive data mining

Descriptive Data Mining generally seeks groups, subgroups and clusters. Algorithms are developed that draw associative relationships from which actionable results may be derived. (ie. a diamond head snake should be considered poisonous.)

Generally, a descriptive data mining result will appear as a series of if – then – elseif – then … conditions. Alternatively, a system of scoring may be used much like some magazine based self assessment exams. Regardless of the approach, the end result is a clustering of the samples with some measure of quality.

Predictive Data Mining is then performing an analysis on previous data to derive a prediction to the next outcome. For example: new business incorporation tend to look for credit card merchant solutions. This may seem obvious, but someone had to discover this tendency – and then exploit it.

Data mining is ready for application in the business community because it is supported by three technologies that are now sufficiently mature: 1) massive data collection, 2) powerful multiprocessor computers, and 3) data mining algorithms (http://www.thearling.com/text/dmwhite/dmwhite.htm).

Kurt Thearling identifies five type od data mining: (definitions taken from Wikipedia)

A decision tree is a decision support tool that uses a tree-like graph or model of decisions and their possible consequences, including chance event outcomes, resource costs, and utility. Decision trees are commonly used in operations research, specifically in decision analysis, to help identify a strategy most likely to reach a goal. If in practice decisions have to be taken online with no recall under incomplete knowledge, a decision tree should be paralleled by a Probability model as a best choice model or online selection model algorithm. Another use of decision trees is as a descriptive means for calculating conditional probabilities.

Nearest neighbour or shortest distance is a method of calculating distances between clusters in hierarchical clustering. In single linkage, the distance between two clusters is computed as the distance between the two closest elements in the two clusters.

The term neural network was traditionally used to refer to a network or circuit of biological neurons. The modern usage of the term often refers to artificial neural networks, which are composed of artificial neurons or nodes.

Rule induction is an area of machine learning in which formal rules are extracted from a set of observations. The rules extracted may represent a full scientific model of the data, or merely represent local patterns in the data.

Cluster analysis or clustering is the task of assigning a set of objects into groups (called clusters) so that the objects in the same cluster are more similar (in some sense or another) to each other than to those in other clusters.

New Technology Jobs and General Economic News

Posted March 9, 2012 by ProfReynolds
Categories: Business

Tags: , , , , ,

Today, Bloomberg radio (Sirius/XM version) reported that the unexpected increase in hiring is coming on two fronts: low-end food service and menial work, and higher end technology based employment.

In fact, they reported that there is a strong up-tick in employment throughout the industry. And it was further reported that the non-oil based trade international trade is, in fact, about the same as 2003 and is showing a little improvement.

The closely related housing market is certainly picking up in North Houston / The Woodlands / Conroe area, reports Judy Reynolds (www.JudyReynolds.net).

Business Driven Software Development

Posted February 12, 2012 by ProfReynolds
Categories: Business Driven Software Development, Software Development

A repost of my son’s blog – July 2009

As a software engineer, project proposals are available in spades. Learning how to evaluate business needs and technical needs is a basic job prerequisite (Parkinson, 2000). Parkinson explains that there is a significant difference between a technical requirement and a business requirement. An example of a technical requirement would be needing a new printer. A similar business process requirement would be needing a more efficient printing algorithm that cuts down the time spent spooling a project to the printers.Business drivers can be broken down into “chunks”. For instance, an “Expense Reduction” driver may be broken into Customer Service expenses, customer acquisition\retention, efficiency, and other expenses (Machavarapu, 2006). Once the drivers are broken down, Machavarapu recommends assigning weights to the “chunks”, such that new projects can be evaluated for priority.

Finally, there is an array of reasons for beginning an IT project which should serve as red flags for engineers and developers. Reasons such as “Wanting to stay abreast of the latest technology advances” frequently translate into “Spend money on shiny new buttons”. Unfortunately, if this desire to advance technology isn’t tempered by legitimate business needs, the project may fail, or worse, prevent legitimate projects from receiving adequate funding.

Bernard, A. (December 26, 2003). Why Implementations Fail: The Human Factor.

Boehm, B. W. Quantitative Evaluation of Software Quality. In R. W. Selby, Ed. Software Engineering (p. 27). IEEE. Retrieved July 11, 2009, from
http://books.google.com/books?hl=en&lr =lang_en&id=ttaMIFv8bv8C&oi=fnd&pg=PA5&
dq=characteristics+of+quality+software& ots=yWkqT2mRFl&sig=Mj9mpFfLpWk4BkLvp4cz
Google Books.

Machavarapu, S. (2006). Prioritizing IT Projects Based on Business Strategy – CIO.com. Retrieved July 15, 2009, from http://www.cio.com/article/22976/Prioritizing_IT_Projects_Based_on_Business_S trategy/1

Parkinson, D. (2000). Recognizing business needs can lead to new and repeat clients. Retrieved
July 15, 2009, from http://articles.techrepublic.com.com/5 100-10878_11-5027153.html

Pfleeger, S. L. & Atlee, J. M. (2006). Why Software Engineering. Software Engineering Theory and Practice (3rd ed. pp. 9-11). Upper Saddle River, NJ: Pearson Prentice Hall.

Characteristics of quality software

Posted February 12, 2012 by ProfReynolds
Categories: Information Systems, Software Development

Tags: , , , , , , , , ,

A repost of my son’s blog – July 2009

Software Quality

Software Quality is a concept has been discussed and defined in a number of excellent books and articles. Granular-Level specific characteristics are numerous, and the weight placed on one aspect may differ from company to company, or even from project to project. However, with the assistance of the Pfleeger and Atlee text (2006) and a text from Selby and Boehm (2009), we can examine several generic properties which are relatively universal.

  • Portability
    This is a measure of how the degree of coupling with other software or hardware. Can the software be easily installed and transferred, or is there a complicated integration with 3rd-parties (eg. SQL Server, or a special hardware key-dongle)?
  • “AS-IS” utility
    Does the software require heavy customization once it is deployed to the customer?
    (ie. Reliability, Efficiency, Human Engineering)
  • Maintainability
    In 2 years, will we be able to fix a problem or add new functionality?
    (ie. Testability, Understandability, Modifiability)

Human Factors

Bernard suggests that the most basic reason for an implementation to fail is due to inadequate training and preparation of the operators of the system. Having been involved in several different implementations of new software, I have seen both well-prepared and inadequately-prepared staff try to deal with new software. I would venture to say that Bernard is exactly right in saying that improper training is a huge reason why software does not succeed. It is my experience that users with a stake in the company don’t WANT to see software fail, but they will unintentionally sabotage the new initiative with “Well we always did it the other way” attitudes, if they don’t have a good reason to make the change.


Bernard, A. (December 26, 2003). Why Implementations Fail: The Human Factor.

Boehm, B. W. Quantitative Evaluation of Software Quality. In R. W. Selby, Ed. Software Engineering (p. 27). IEEE. Retrieved July 11, 2009, from Google Books.

Pfleeger, S. L. & Atlee, J. M. (2006). Why Software Engineering. Software Engineering Theory and Practice (3rd ed. pp. 9-11). Upper Saddle River, NJ: Pearson Prentice Hall.

Did they actually say that?

Posted February 10, 2012 by ProfReynolds
Categories: Industry and Applications

On occassion we should all read these quotes and realize that humor is rampant!

“Computers in the future may weigh no more than 1.5 tons.”
~Popular Mechanics, forecasting the relentless march of science, 1949

“I think there is a world market for maybe five computers.”
~Thomas Watson, chairman of IBM, 1943

“I have traveled the length and breadth of this country and talked with the best people, and I can assure you that data processing is a fad that won’t last out the year.”
~The editor in charge of business books for Prentice Hall, 1957

“But what … is it good for?”
~Engineer at the Advanced Computing Systems Division of IBM, 1968, commenting on the microchip.

“There is no reason anyone would want a computer in their home.”
~Ken Olson, president, chairman and founder of Digital Equipment Corp., 1977

“This ‘telephone’ has too many shortcomings to be seriously considered as a means of communication. The device is inherently of no value to us.”
~Western Union internal memo, 1876.

“The wireless music box has no imaginable commercial value. Who would pay for a message sent to nobody in particular?”
~David Sarnoff’s associates in response to his urgings for investment in the radio in the 1920s.

“The concept is interesting and well-formed, but in order to earn better than a ‘C,’ the idea must be feasible.”

~A Yale University management professor in response to Fred Smith’s paper proposing reliable overnight delivery service. (Smith went on to found Federal Express Corp.)

“Who the **** wants to hear actors talk?”
~H. M. Warner, Warner Brothers, 1927.
[When celebrities start talking politics, I find myself asking the same thing – Prof Reynolds]

“I’m just glad it’ll be Clark Gable who’s falling on his face and not Gary Cooper.”
~Gary Cooper on his decision not to take the leading role in “Gone With The Wind.”

“A cookie store is a bad idea. Besides, the market research reports say America likes crispy cookies, not soft and chewy cookies like you make.”
~Response to Debbi Fields’ idea of starting Mrs. Fields’ Cookies.

“We don’t like their sound, and guitar music is on the way out.”
~Decca Recording Co. rejecting the Beatles, 1962.

“Heavier-than-air flying machines are impossible.”
~Lord Kelvin, president, Royal Society, 1895.

“If I had thought about it, I wouldn’t have done the experiment. The literature was full of examples that said you can’t do this.”
~Spencer Silver, on the work that led to the unique adhesives for 3-M “Post-It” Notepads.

“So we went to Atari and said, ‘Hey, we’ve got this amazing thing, even built with some of your parts, and what do you think about funding us? Or we’ll give it to you. We just want to do it. Pay our salary, we’ll come work for you.’ And they said, ‘No.’ So then we went to Hewlett-Packard, and they said, ‘Hey, we don’t need you. You haven’t got through college yet.'”
~Apple Computer Inc. founder Steve Jobs on attempts to get Atari and H-P interested in his and Steve Wozniak’s personal computer.

“Professor Goddard does not know the relation between action and reaction and the need to have something better than a vacuum against which to react. He seems to lack the basic knowledge ladled out daily in high schools.”
~1921 New York Times editorial about Robert Goddard’s revolutionary rocket work.

“Drill for oil? You mean drill into the ground to try and find oil? You’re crazy.”
~Drillers who Edwin L. Drake tried to enlist to his project to drill for oil in 1859.

“Stocks have reached what looks like a permanently high plateau.”
~Irving Fisher, Professor of Economics, Yale University, 1929.

“Airplanes are interesting toys but of no military value.”
~Marechal Ferdinand Foch, Professor of Strategy, Ecole Superieure deGuerre.

“Everything that can be invented has been invented.”
~Charles H. Duell, Commissioner, U.S. Office of Patents, 1899.
[Possibly my favorite – Prof Reynolds]

“Louis Pasteur’s theory of germs is ridiculous fiction”.
~Pierre Pachet, Professor of Physiology at Toulouse, 1872 p>

“The abdomen, the chest, and the brain will forever be shut from the intrusion of the wise and humane surgeon”.
~Sir John Eric Ericksen, British surgeon, appointed Surgeon-Extraordinary to Queen Victoria 1873.

“640K ought to be enough for anybody.”
~Bill Gates, 1981

%d bloggers like this: