This book is used for the CSSE120: Introduction to Software Development course at the Rose-Hulman Institute of Technology.
An introduction to procedural and object-oriented programming with an emphasis on problem solving. Problems may include visualizing scientific or commercial data, interfacing with external hardware such as robots, or solving numeric problems from a variety of engineering disciplines. Procedural programming concepts covered include data types, variables, control structures, arrays, and data I/O. Object-oriented programming concepts covered include object creation and use, object interaction, and the design of simple classes. Software engineering concepts covered include testing, incremental development, understanding requirements, and teamwork.
This book serves as an introduction to procedural and object-oriented programming with an emphasis on problem solving.
Procedural programming concepts covered include:
- data types
- variables
- control structures
- sequences
Object-oriented programming concepts covered include:
- object creation and use
- object interaction
- design of simple classes
Software engineering concepts covered include:
- testing
- incremental development
- understanding requirements
- teamwork
This book (and course) use Python as an introductory programming language. Content is targeted at first-year college students, but should be accessible to anyone with basic computer skills and an interest in programming.
The book can be read here: https://krohnrm.github.io/Introduction-to-Software-Development
This book relies on interactive self-assessment quizzes via JupyterQuiz.
This book is a work-in-progress, and is therefore subject to change. I welcome feedback and suggestions.
Copyright 2021 by Rachel Krohn. All rights reserved.