Skip to ContentGo to accessibility pageKeyboard shortcuts menu
OpenStax Logo

Labs

1 .
Researching traditional software process models: Several traditional prescriptive process models were not covered in this section (e.g., Phased model, Aspect-Oriented Software Development (AOSD) model), and related alternative techniques (e.g., Formal Transformation Process model, Reuse-Based Process model, Rapid Application Development, Personal Software Process model/Team Software Process model, CMM, SEI’s IDEAL Model, Component Based Software Engineering or CBSE software model, Hybrid Process models). Find reliable sources such as articles or websites that explain each framework. Answer the W5 questions (Who, What, When, Where, Why) for each framework:
  • Who: Who created or popularized the framework? Is it used by any specific industries?
  • What: What are the core principles and practices of the framework?
  • When: When might this framework be a good choice for a project?
  • Where: Are there any examples of companies that use this framework successfully?
  • Why: Why might a team choose this framework over others?
Identify a real-world application: Imagine you’re working on a software project to develop a mobile game with a small team. The requirements are well defined and changes are not expected. Based on your research, which traditional software process model would you recommend for this project? Why?
2 .
Researching Agile process models: Several Agile frameworks or methods were not discussed in this section (e.g., Adaptive Software Development, Dynamic Systems Development Method, Crystal, Feature Driven Development, Incremental Funding Method IFM, Kanban, XP, Incremental Prototyping Model, Agile Pattern-Driven Approach, Design Thinking Method, Lean Startup Method). Find reliable sources such as articles or websites that explain each framework. Answer the W5 questions (Who, What, When, Where, Why) for each framework:
  • Who: Who created or popularized the framework? Is it used by any specific industries?
  • What: What are the core principles and practices of the framework?
  • When: When might this framework be a good choice for a project?
  • Where: Are there any examples of companies that use this framework successfully?
  • Why: Why might a team choose this framework over others such as Scrum?
Identify a real-world application: Imagine you’re working on a software project to develop a mobile game with a small team. The requirements are well defined but there is a need to be flexible and adapt to user feedback quickly. Based on your research, which Agile framework (Scrum, Kanban, or one you researched) would you recommend for this project? Why?
3 .
There are a number of software development tools that are freely available or that can be accessed and run from the web. One such online integrated development environment is Replit, which can be found at Replit.com. This IDE allows you to enter programs using a variety of programming languages, such as C, JavaScript, Python, C++, Java, and more. Create an account on Replit.com. Once your account is created, go to to access tutorials on using Replit and programming. Pick an Introductory tutorial from the site on a programming language such as JavaScript and complete it.
4 .
Explore Visual Studio Code. Describe what it does and how it relates to software development.
5 .
Read excerpts from Kurzweil’s The Singularity Is Near and his more recent book, How to Create a Mind as needed to justify his prediction regarding digital utopia and immortality as human capabilities (and lifespans) are amplified using technology. Also, analyze Bill Joy’s prediction of digital dystopia and human extinction as machines become more and more capable. Express your point of view regarding these two diametrically opposed visions and how you believe it could influence the way software engineers approach the definition of a long view for the human race.
Citation/Attribution

This book may not be used in the training of large language models or otherwise be ingested into large language models or generative AI offerings without OpenStax's permission.

Want to cite, share, or modify this book? This book uses the Creative Commons Attribution License and you must attribute OpenStax.

Attribution information
  • If you are redistributing all or part of this book in a print format, then you must include on every physical page the following attribution:
    Access for free at https://openstax.org/books/introduction-computer-science/pages/1-introduction
  • If you are redistributing all or part of this book in a digital format, then you must include on every digital page view the following attribution:
    Access for free at https://openstax.org/books/introduction-computer-science/pages/1-introduction
Citation information

© Oct 29, 2024 OpenStax. Textbook content produced by OpenStax is licensed under a Creative Commons Attribution License . The OpenStax name, OpenStax logo, OpenStax book covers, OpenStax CNX name, and OpenStax CNX logo are not subject to the Creative Commons license and may not be reproduced without the prior and express written consent of Rice University.