Science Buddies
Science Buddies: Career Profile: Computer Software Engineer
For those students interested in developing cool video game software for computer or those who enjoy applying their compter science skills to solve problems, a career as a computer software engineer might be worth examining. This Science...
Other
University of Birmingham: "Top Down" and "Bottom Up" Design
Describes bottom-up design methodology and differentiates it from top-down procedures. Contains some questions to help choose a particular methodology.
Rice University
Rice: Design Patterns for Parsing
A description of the design patterns that are common in software engineering.
TeachEngineering
Teach Engineering: Java Programming of Ocr
Student groups use the Java programming language to implement the algorithms for optical character recognition (OCR) that they developed in the associated lesson. The ultimate goal is to produce computer code that recognizes a digit on a...
TeachEngineering
Teach Engineering: Curiosity Killed the App
Students gain experience with the software/system design process, closely related to the engineering design process, to solve a problem. First, they learn about the Mars Curiosity rover and its mission, including the difficulties that...
TeachEngineering
Teach Engineering: Do You See What I See?
Students research OCR and OCR techniques and then apply those methods to the design challenge by developing algorithms capable of correctly reading a number on a typical high school sports scoreboard.
Other
Java world.com: Design Techniques
An article on the role of design in the context of the overall software development process. Includes the two phases of design techniques.
TED Talks
Ted: Ted Ed: Meet a 12 Year Old App Developer
Most 12-year-olds love playing video games- but Thomas Suarez taught himself how to create them. After developing iPhone apps like "Bustin Jeiber," a whack-a-mole game, he is now using his skills to help other kids become developers. [4:33]
University of Maryland
Um: A Survey of Major Software Design Methodologies
Gives an overview of software design methodology and differentiates between formal and systemic design. Then it discusses specific principles of design methodology.
Other
Intercom: How to Make Product Improvements to Existing Products
Product improvement is the process of making meaningful product changes that result in new customers or increased benefits realized by existing customers. The two most popular ways to make product improvements are to add new product...
Other
Medium: Software Engineering: Software Process and Software Process Models
Understand the software process and software process models.
Lumen Learning
Lumen: Reading: Software Development Process
Learn about software development methodologies and the development process.
Other
Mobile Spoon: Here's to Trade Offs and Compromises Your Product's Best Friends
This article discusses some of the different trade-offs and compromises that happen during a design process, for example, usability vs. appeal. Includes some examples from a home renovation and from technology features.
Computer History Museum
Computer History Museum: An Overview of the History of the Software Industry
The software industry is a major part of the world economy. This site traces the relatively short history of the software industry, from the 1950s through the 1980s.
Wikimedia
Wikipedia: Design Pattern
A Wikipedia description of design patterns used in software engineering.
Other
Sisson: Requirements and Specifications
A discussion of the role that good design specifications play in the successful completion of a software project.
Other
B R Price: Bottom Up Algorithms Dynamic Programming
This site considers a bottom-up algorithmic paradigm called dynamic programming including links to examples with source code.