Learn software engineering from scratch, from installing and setting up your development environment, to navigating a terminal and building a model command line operating system, all using the Scala programming language as a medium. The demand for software engineers is growing exponentially, and with this book you can start your journey into this rewarding industry, even with no prior programming experience.
Using Scala, a language known to contain "everything and the kitchen sink," you'll begin coding on a gentle learning curve by applying the basics of programming such as expressions, control flow, functions, and classes. You'll then move on to an overview of all the major programming paradigms. You'll finish by studying software engineering concepts such as testing and scalability, data structures, algorithm design and analysis, and basic design patterns.
With Software Engineering from Scratch as your navigator, you can get up to speed on the software engineering industry, develop a solid foundation of many of its core concepts, and develop an understanding of where to invest your time next.
What You Will Learn
- Use Scala, even with no prior knowledge
- Demonstrate general Scala programming concepts and patterns
- Begin thinking like a software engineer
- Work on every level of the software development cycle
Who This Book Is For
Anyone who wants to learn about software engineering; no prior programming experience required.
Jason Lee Hodges is currently a Software Engineering Lead at a high growth unicorn technology startup. He started programming when he was 11 years old and currently codes in Python, Java, Scala, Kotlin, Typescript, and Rust on a daily basis. He believes Scala is the ultimate teaching language and that anyone who is willing to put in the work can learn to be a software engineer. You can reach Jason on Twitter @jasonleehodges.
2. Installing Everything You Need
3. Contextual Knowledge
4. Expressions and Variables
5. Basic Data Types
6. Control Flow
9. Dependency Management
10. Programming Paradigms
11. What is Software Engineering?
12. Data Structures
14. Design Patterns
15. Further Study