دسترسی نامحدود
برای کاربرانی که ثبت نام کرده اند
برای ارتباط با ما می توانید از طریق شماره موبایل زیر از طریق تماس و پیامک با ما در ارتباط باشید
در صورت عدم پاسخ گویی از طریق پیامک با پشتیبان در ارتباط باشید
برای کاربرانی که ثبت نام کرده اند
درصورت عدم همخوانی توضیحات با کتاب
از ساعت 7 صبح تا 10 شب
ویرایش:
نویسندگان: Crucher et al
سری:
ISBN (شابک) : 9781484271063, 9781484271070
ناشر:
سال نشر: 2021
تعداد صفحات: [303]
زبان: English
فرمت فایل : PDF (درصورت درخواست کاربر به PDF، EPUB یا AZW3 تبدیل می شود)
حجم فایل: 5 Mb
در صورت تبدیل فایل کتاب Essential Computer Science به فرمت های PDF، EPUB، AZW3، MOBI و یا DJVU می توانید به پشتیبان اطلاع دهید تا فایل مورد نظر را تبدیل نمایند.
توجه داشته باشید کتاب علوم رایانه ضروری نسخه زبان اصلی می باشد و کتاب ترجمه شده به فارسی نمی باشد. وبسایت اینترنشنال لایبرری ارائه دهنده کتاب های زبان اصلی می باشد و هیچ گونه کتاب ترجمه شده یا نوشته شده به فارسی را ارائه نمی دهد.
مفاهیم و مهارت های ضروری علوم کامپیوتر را درک کنید. این کتاب بر مفاهیم اساسی و بنیادی تمرکز دارد که بر اساس آنها می توان تخصص در زمینه های خاص را توسعه داد، از جمله معماری کامپیوتر، زبان برنامه نویسی، الگوریتم و ساختار داده، سیستم عامل ها، شبکه های کامپیوتری، سیستم های توزیع شده، امنیت و غیره. بر اساس کد.org، 500000 موقعیت برنامه نویسی باز در ایالات متحده موجود است- در مقایسه با محصول سالانه تنها 50000 فارغ التحصیل رشته علوم کامپیوتر. وزارت کار ایالات متحده پیش بینی کرد که در آینده نزدیک یک میلیون و نیم شغل در زمینه علوم کامپیوتر وجود خواهد داشت، اما برنامه نویسان کافی برای پر کردن تقریباً یک سوم از این مشاغل هستند. برای پر کردن این شکاف، بسیاری از افرادی که به طور رسمی در علوم کامپیوتر آموزش ندیده اند، در مشاغل برنامه نویسی استخدام می شوند. اگرچه آنها قادر به شروع سریع برنامه نویسی و کد نویسی هستند، اغلب زمان می برد تا درک لازم را برای کسب مهارت های لازم برای تبدیل شدن به یک مهندس کامپیوتر کارآمد یا توسعه دهنده پیشرفته کسب کنند. آنچه خواهید آموخت اصول اولیه چگونگی کارکرد یک کامپیوتر اصول اولیه برنامه نویسی کامپیوتر و پارادایم های برنامه نویسی نحوه نوشتن برنامه های کارآمد چگونه سخت افزار و نرم افزار با هم کار می کنند تا تجربه کاربری خوبی ارائه دهند و قابلیت استفاده از سیستم را افزایش دهند چگونه کامپیوترها می توانند با هر یک از آنها صحبت کنند دیگر نحوه تضمین امنیت سیستم اصول اولیه ارائه ابر، مفاهیم/مبادله، و پیکربندیهای استقرار/اقتباس اصول یادگیری ماشینی این کتاب برای برنامه نویسان کامپیوتری که فاقد تحصیلات رسمی در علوم کامپیوتر هستند و هر کسی که آموزش رسمی در علوم کامپیوتر، به دنبال ایجاد درک کلی از مبانی علوم کامپیوتر
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. What 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 Who This Book Is For Computer programmers lacking a formal education in computer science, and anyone with a formal education in computer science, looking to develop a general understanding of computer science fundamentals
Table of Contents About the Authors About the Contributors About the Technical Reviewer Acknowledgments Introduction Chapter 1: Fundamentals of a Computer System von Neumann Architecture CPU: Fetch, Decode, Execute, and Store Fetch Instruction Set Architecture Registers Decode, Execute, and Store Controlling the Flow The Stack Instruction Pipeline Flynn’s Taxonomy Main Memory and Secondary Storage Input and Output (I/O) Summary References and Further Reading Chapter 2: Programming Programming Language Fundamentals Hello, World! Compile, Link, and Load High-Level Languages Programming Paradigms Imperative Programming Declarative Programming Object-Oriented Programming Interpreted Programming Parallel Programming Machine Learning Summary References and Further Reading Chapter 3: Algorithm and Data Structure What Is an Algorithm Good and Not So Good Algorithm Time/Space Complexity Asymptotic Notation Fundamental Data Structures and Algorithms Store (Data Structure) Stack Queue Tree Graph Linked List Array Dictionary Making Use of the Data: Searching, Sorting Problem Solving Techniques Recursion Divide and Conquer Brute Force Greedy Algorithms Class of Problems NP-Complete and NP-Hard Problems Databases Persistence and Volume Fundamental Requirements: ACID Brief History of Database System Evolution Most Prominent Current Database Systems Relational Data and SQL Structured Data/Unstructured Data NoSQL Examples of NoSQL Databases Graph DB: Neo4j Column Family DB: Bigtable and Cassandra Document DB: CouchDB and MongoDB Summary References and Further Reading Chapter 4: Operating System What Is an Operating System OS Categories Why We Need an OS Purpose of an OS Complex and Multiprocessor Systems Multitasking and Multifunction Software Multiuser Systems Why Is It Important to Know About the OS? Responsibilities of an OS Scheduling Program and Process Basics Process States Process Control Block (PCB) Context Switching Scheduling Scheduling Criteria Thread Concepts Memory Management Address Binding Logical vs. Physical Address Inter-process Communication Shared Memory Method Message Passing Method Further Reading I/O Management I/O Subsystem Block Devices Character Devices Special Instruction I/O Memory-Mapped I/O Direct Memory Access (DMA) Polled vs. Interrupt I/Os I/O and Performance Synchronization Concepts Critical Sections Mutex Semaphore Deadlocks File Systems File Concepts Directory Namespace Access Control Concurrency and Cleanup Control Access and Protection Rings: User Mode and Kernel Mode Virtualization Protection User Interface and Shell Some OS Specifics Summary References and Further Reading Chapter 5: Computer Networks and Distributed Systems History and Evolution of Networks and the Internet Protocols: Stateful and Stateless Internet Protocol (IP): TCP and UDP Host, IP Address, MAC Address, Port, Socket DNS and DHCP Proxy, Firewall, Routing Distributed Systems: Prominent Architectures Client Server Peer to Peer N-Tiered Distributed System Examples FTP The World Wide Web Case Study: Web Application System Architecture HTML, CSS, and JavaScript Front End Back End Summary References and Further Reading Chapter 6: Computer Security Access Control Confidentiality Integrity Availability Symmetric Key Cryptography Asymmetric Key Cryptography Digital Signatures Digital Certificates Certificate Chains Salts and Nonces Random Numbers Security in Client Computing Systems Malware, the Bad Apples of Software Security of Data at Rest Security of Data in Use Application vs. Kernel vs. Drivers User Authentication and Authorization Trusted Execution Environments and Virtual Machines Secure Boot Secure I/O Digital Rights Management Communication Security: Security of Data in Motion Transport Layer Security Virtual Private Network IP Security Writing Secure Programs: Where Do We Start? Summary References and Further Reading Chapter 7: Cloud Computing Cloud Computing Models IaaS PaaS Serverless SaaS Comparison of Cloud Computing Models Benefits of Cloud Computing Cost Scalability Velocity Reliability and Availability Productivity Performance Ease of Use and Maintenance Cloud Deployment Configurations Private Cloud Public Cloud Hybrid Cloud Ideal Cloud Deployment Configuration Multi-cloud Model Cloud Configuration Interface/Mechanism Cloud Service Providers Considerations in Choosing a CSP Motivation for Switching CSPs Usage and Pricing Change CSP Ecosystem Change Regulatory, Privacy, and Business Dynamics Change Considerations for Developing Portable and Interoperable Cloud Solutions Interoperability vs. Portability Interoperability Challenges Portability Challenges Containers, Docker, and Kubernetes Benefits of Containers and Container Orchestration Security Scalability The Way Forward Recommendations Summary References and Further Reading Chapter 8: Machine Learning Brief History of Machine Learning Artificial Intelligence, Machine Learning, and Deep Learning Fundamental Tenets of Machine Learning Models Training Prediction (Inference) Categories of Machine learning Supervised Learning Unsupervised Learning Semi-supervised Learning Reinforcement Learning Machine Learning in Practice Leading Machine Learning Frameworks Machine Learning and Cloud Computing The Way Forward Summary References Appendix A: Software Development Lifecycle Planning Analysis Architecture and Design Implementation Test Deploy Maintenance Appendix B: Software Engineering Practices Planning and Management Practices: Agile Scrum Kanban Analysis and Design Scaling Agile Practices Documentation Requirements, Design, and Architecture Comments and Code User Testing Phases and Categories of Testing and Goals Algorithm Testing, Unit Testing, Integration Testing, and the Like Test-Driven Development Developing for Debug Asserts and Exceptions Logging and Tracing Source Control Management Purpose and Mechanism Tools Perforce Helix Git Build Optimizations and Tools Purpose and Mechanism Tools Make Gradle Cmake and Ninja Continuous Integration and Continuous Delivery Purpose and Mechanism Tools Jenkins CircleCI GitLab CI/CD Appendix C: ACPI System States Global and System States Device States Processor States Appendix D: System Boot Flow Index