1.

Record Nr.

UNINA9910484649803321

Autore

Crutcher Paul D.

Titolo

Essential computer science : a programmers guide to foundational concepts / / Paul D. Crutcher, Neeraj Kumar Singh, Peter Tiegs

Pubbl/distr/stampa

[Place of publication not identified] : , : APress, , [2021]

©2021

ISBN

1-4842-7107-6

Edizione

[1st ed. 2021.]

Descrizione fisica

1 online resource (XXIII, 290 p. 77 illus.)

Disciplina

001.642

Soggetti

Computer programming

Computer science

Lingua di pubblicazione

Inglese

Formato

Materiale a stampa

Livello bibliografico

Monografia

Note generali

Includes index.

Nota di contenuto

Chapter 1: Fundamentals of a Computer System -- Chapter 2: Programming -- Chapter 3: Algorithm and Data Structure -- Chapter 4: Operating System -- Chapter 5: Computer Networks and Distributed Systems -- Chapter 6: Computer Security -- Chapter 7: Cloud Computing -- Chapter 8: Machine Learning -- Appendix A: Software Development Lifecycle -- Appendix B: Software Engineering Practices -- Appendix C: ACPI System States -- Appendix D: System Boot Flow.-.

Sommario/riassunto

Understand essential computer science concepts and skills. This book focuses on the foundational and fundamental concepts upon which expertise in specific areas can be developed, including computer architecture, programming language, algorithm and data structure, operating systems, computer networks, distributed systems, security, and more. According to code.org, there are 500,000 open programming positions available in the US— compared to an annual crop of just 50,000 graduating computer science majors. The US Department of Labor predicted that there will be almost a million and a half computer science jobs in the very near future, but only enough programmers to fill roughly one third of these jobs. To bridge the gap, many people not formally trained in computer science are employed in programming jobs. Although they are able to start programming and coding quickly, it often takes them time to acquire the necessary understanding to gain the requisite skills to become an efficient



computer engineer or advanced developer. You will learn: The fundamentals of how a computer works The basics of computer programming and programming paradigms How to write efficient programs How the hardware and software work together to provide a good user experience and enhance the usability of the system How computers can talk to each other How to ensure the security of the system The fundamentals of cloud offerings, implications/trade-offs, and deployment/adoption configurations The fundamentals of machine learning.