Author: Chris Gregg
Publisher:
ISBN: 9781735810720
Category : Education
Languages : en
Pages : 340
Book Description
Your First Year Teaching Computer Science is a comprehensive guide to teaching computer science geared to new instructors in the field. It can be used as a guide and a reference, and it provides multiple examples of how to construct teaching materials, how to prepare lectures, how to write assignments, how to train TAs, and how to advise students, among many other topics. It is both motivational and instructive, and it provides a foundation on which to become a great CS instructor. Teaching computer science involves more than just "teaching the material," and this book details all of the other parts of teaching that you will need to know to do the job. If you are wondering where to begin as a computer science teacher, this is the book for you.Features-Serves as a comprehensive guide to teaching introductory computer science for new teachers, and experienced teachers can refer to it on specific points. -Provides examples of teaching materials, grading guides, multiple lists, and other valuable resource for helping new teachers to launch their first computer science courses. -Includes information about training TAs, holding office hours, advising students, and many other practical information that is not specifically about the technical part of teaching computer science. -Written in a conversational tone and is premised on the belief that teaching should be rewarding, fun, and engaging.
Your First Year Teaching Computer Science
Author: Chris Gregg
Publisher:
ISBN: 9781735810720
Category : Education
Languages : en
Pages : 340
Book Description
Your First Year Teaching Computer Science is a comprehensive guide to teaching computer science geared to new instructors in the field. It can be used as a guide and a reference, and it provides multiple examples of how to construct teaching materials, how to prepare lectures, how to write assignments, how to train TAs, and how to advise students, among many other topics. It is both motivational and instructive, and it provides a foundation on which to become a great CS instructor. Teaching computer science involves more than just "teaching the material," and this book details all of the other parts of teaching that you will need to know to do the job. If you are wondering where to begin as a computer science teacher, this is the book for you.Features-Serves as a comprehensive guide to teaching introductory computer science for new teachers, and experienced teachers can refer to it on specific points. -Provides examples of teaching materials, grading guides, multiple lists, and other valuable resource for helping new teachers to launch their first computer science courses. -Includes information about training TAs, holding office hours, advising students, and many other practical information that is not specifically about the technical part of teaching computer science. -Written in a conversational tone and is premised on the belief that teaching should be rewarding, fun, and engaging.
Publisher:
ISBN: 9781735810720
Category : Education
Languages : en
Pages : 340
Book Description
Your First Year Teaching Computer Science is a comprehensive guide to teaching computer science geared to new instructors in the field. It can be used as a guide and a reference, and it provides multiple examples of how to construct teaching materials, how to prepare lectures, how to write assignments, how to train TAs, and how to advise students, among many other topics. It is both motivational and instructive, and it provides a foundation on which to become a great CS instructor. Teaching computer science involves more than just "teaching the material," and this book details all of the other parts of teaching that you will need to know to do the job. If you are wondering where to begin as a computer science teacher, this is the book for you.Features-Serves as a comprehensive guide to teaching introductory computer science for new teachers, and experienced teachers can refer to it on specific points. -Provides examples of teaching materials, grading guides, multiple lists, and other valuable resource for helping new teachers to launch their first computer science courses. -Includes information about training TAs, holding office hours, advising students, and many other practical information that is not specifically about the technical part of teaching computer science. -Written in a conversational tone and is premised on the belief that teaching should be rewarding, fun, and engaging.
Awesome Computer Science Teacher
Author: Teacher Quotes
Publisher:
ISBN: 9781071194010
Category :
Languages : en
Pages : 112
Book Description
This cute Awesome Computer Science Teacher Gifts for Teachers Day Chalkboard Quote Design Notebook makes a unique, practical, thoughtful gift idea for teachers from students, parents, principals, coworkers, and kids. This 6 x 9" journal size is great for writing lesson plan ideas, to do lists, inspirational quotes, and meeting notes and fits easily in a bag. Use for work or for personal creativity and productivity. Great back to school gift, teacher day gift, appreciation week gift, mother's day gift, birthday gift, teacher thank you gift, PTO appreciation gift, and nice Christmas stocking stuffer.
Publisher:
ISBN: 9781071194010
Category :
Languages : en
Pages : 112
Book Description
This cute Awesome Computer Science Teacher Gifts for Teachers Day Chalkboard Quote Design Notebook makes a unique, practical, thoughtful gift idea for teachers from students, parents, principals, coworkers, and kids. This 6 x 9" journal size is great for writing lesson plan ideas, to do lists, inspirational quotes, and meeting notes and fits easily in a bag. Use for work or for personal creativity and productivity. Great back to school gift, teacher day gift, appreciation week gift, mother's day gift, birthday gift, teacher thank you gift, PTO appreciation gift, and nice Christmas stocking stuffer.
Computer Science in K-12
Author: Shuchi Grover
Publisher:
ISBN: 9781734662702
Category :
Languages : en
Pages :
Book Description
Coding teaches our students the essence of logical thinking and problem solving while also preparing them for a world in which computing is becoming increasingly pervasive. While there's excitement and enthusiasm about programming becoming an intrinsic part of K-12 curricula the world over, there's also growing anxiety about preparing teachers to teach effectively at all grade levels.This book strives to be an essential, enduring, practical guide for every K-12 teacher anywhere who is either teaching or planning to teach computer science and programming at any grade level. To this end, readers will discover:? An A-to-Z organization that affords comprehensive insight into teaching introductory programming.? 26 chapters that cover foundational concepts, practices and well-researched pedagogies related to teaching introductory programming as an integral part of K-12 computer science. Cumulatively these chapters address the two salient building blocks of effective teaching of introductory programming-what content to teach (concepts and practices) and how to teach (pedagogy).? Concrete ideas and rich grade-appropriate examples inspired by practice and research for classroom use.? Perspectives and experiences shared by educators and scholars who are actively practicing and/or examiningthe teaching of computer science and programming in K-12 classrooms.
Publisher:
ISBN: 9781734662702
Category :
Languages : en
Pages :
Book Description
Coding teaches our students the essence of logical thinking and problem solving while also preparing them for a world in which computing is becoming increasingly pervasive. While there's excitement and enthusiasm about programming becoming an intrinsic part of K-12 curricula the world over, there's also growing anxiety about preparing teachers to teach effectively at all grade levels.This book strives to be an essential, enduring, practical guide for every K-12 teacher anywhere who is either teaching or planning to teach computer science and programming at any grade level. To this end, readers will discover:? An A-to-Z organization that affords comprehensive insight into teaching introductory programming.? 26 chapters that cover foundational concepts, practices and well-researched pedagogies related to teaching introductory programming as an integral part of K-12 computer science. Cumulatively these chapters address the two salient building blocks of effective teaching of introductory programming-what content to teach (concepts and practices) and how to teach (pedagogy).? Concrete ideas and rich grade-appropriate examples inspired by practice and research for classroom use.? Perspectives and experiences shared by educators and scholars who are actively practicing and/or examiningthe teaching of computer science and programming in K-12 classrooms.
Types and Programming Languages
Author: Benjamin C. Pierce
Publisher: MIT Press
ISBN: 9780262162098
Category : Computers
Languages : en
Pages : 656
Book Description
A comprehensive introduction to type systems and programming languages. A type system is a syntactic method for automatically checking the absence of certain erroneous behaviors by classifying program phrases according to the kinds of values they compute. The study of type systems—and of programming languages from a type-theoretic perspective—has important applications in software engineering, language design, high-performance compilers, and security. This text provides a comprehensive introduction both to type systems in computer science and to the basic theory of programming languages. The approach is pragmatic and operational; each new concept is motivated by programming examples and the more theoretical sections are driven by the needs of implementations. Each chapter is accompanied by numerous exercises and solutions, as well as a running implementation, available via the Web. Dependencies between chapters are explicitly identified, allowing readers to choose a variety of paths through the material. The core topics include the untyped lambda-calculus, simple type systems, type reconstruction, universal and existential polymorphism, subtyping, bounded quantification, recursive types, kinds, and type operators. Extended case studies develop a variety of approaches to modeling the features of object-oriented languages.
Publisher: MIT Press
ISBN: 9780262162098
Category : Computers
Languages : en
Pages : 656
Book Description
A comprehensive introduction to type systems and programming languages. A type system is a syntactic method for automatically checking the absence of certain erroneous behaviors by classifying program phrases according to the kinds of values they compute. The study of type systems—and of programming languages from a type-theoretic perspective—has important applications in software engineering, language design, high-performance compilers, and security. This text provides a comprehensive introduction both to type systems in computer science and to the basic theory of programming languages. The approach is pragmatic and operational; each new concept is motivated by programming examples and the more theoretical sections are driven by the needs of implementations. Each chapter is accompanied by numerous exercises and solutions, as well as a running implementation, available via the Web. Dependencies between chapters are explicitly identified, allowing readers to choose a variety of paths through the material. The core topics include the untyped lambda-calculus, simple type systems, type reconstruction, universal and existential polymorphism, subtyping, bounded quantification, recursive types, kinds, and type operators. Extended case studies develop a variety of approaches to modeling the features of object-oriented languages.
Get Programming
Author: Ana Bell
Publisher: Simon and Schuster
ISBN: 1638355924
Category : Computers
Languages : en
Pages : 668
Book Description
Get Programming: Learn to code with Python teaches you the basics of computer programming using the Python language. In this exercise-driven book, you'll be doing something on nearly every page as you work through 38 compact lessons and 7 engaging capstone projects. By exploring the crystal-clear illustrations, exercises that check your understanding as you go, and tips for what to try next, you'll start thinking like a programmer in no time. This book works perfectly alongside our video course Get Programming with Python in Motion, available exclusively at Manning.com: www.manning.com/livevideo/get-programming-with-python-in-motion Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. What's Inside Programming skills you can use in any language Learn to code—no experience required Learn Python, the language for beginners Dozens of exercises and examples help you learn by doing About the Reader No prior programming experience needed. Table of Contents LEARNING HOW TO PROGRAM Lesson 1 - Why should you learn how to program? Lesson 2 - Basic principles of learning a programming language UNIT 1 - VARIABLES, TYPES, EXPRESSIONS, AND STATEMENTS Lesson 3 - Introducing Python: a programming language Lesson 4 - Variables and expressions: giving names and values to things Lesson 5 - Object types and statements of code 46 Lesson 6 - Capstone project: your first Python program-convert hours to minutes UNIT 2 - STRINGS, TUPLES, AND INTERACTING WITH THE USER Lesson 7 - Introducing string objects: sequences of characters Lesson 8 - Advanced string operations Lesson 9 - Simple error messages Lesson 10 - Tuple objects: sequences of any kind of object Lesson 11 - Interacting with the user Lesson 12 - Capstone project: name mashup UNIT 3 - MAKING DECISIONS IN YOUR PROGRAMS Lesson 13 - Introducing decisions in programs Lesson 14 - Making more-complicated decisions Lesson 15 - Capstone project: choose your own adventure UNIT 4 - REPEATING TASKS Lesson 16 - Repeating tasks with loops Lesson 17 - Customizing loops Lesson 18 - Repeating tasks while conditions hold Lesson 19 - Capstone project: Scrabble, Art Edition UNIT 5 - ORGANIZING YOUR CODE INTO REUSABLE BLOCKS Lesson 20 - Building programs to last Lesson 21 - Achieving modularity and abstraction with functions Lesson 22 - Advanced operations with functions Lesson 23 - Capstone project: analyze your friends UNIT 6 - WORKING WITH MUTABLE DATA TYPES Lesson 24 - Mutable and immutable objects Lesson 25 - Working with lists Lesson 26 - Advanced operations with lists Lesson 27 - Dictionaries as maps between objects Lesson 28 - Aliasing and copying lists and dictionaries Lesson 29 - Capstone project: document similarity UNIT 7 - MAKING YOUR OWN OBJECT TYPES BY USING OBJECT-ORIENTED PROGRAMMING Lesson 30 - Making your own object types Lesson 31 - Creating a class for an object type Lesson 32 - Working with your own object types Lesson 33 - Customizing classes Lesson 34 - Capstone project: card game UNIT 8 - USING LIBRARIES TO ENHANCE YOUR PROGRAMS Lesson 35 - Useful libraries Lesson 36 - Testing and debugging your programs Lesson 37 - A library for graphical user interfaces Lesson 38 - Capstone project: game of tag Appendix A - Answers to lesson exercises Appendix B - Python cheat sheet Appendix C - Interesting Python libraries
Publisher: Simon and Schuster
ISBN: 1638355924
Category : Computers
Languages : en
Pages : 668
Book Description
Get Programming: Learn to code with Python teaches you the basics of computer programming using the Python language. In this exercise-driven book, you'll be doing something on nearly every page as you work through 38 compact lessons and 7 engaging capstone projects. By exploring the crystal-clear illustrations, exercises that check your understanding as you go, and tips for what to try next, you'll start thinking like a programmer in no time. This book works perfectly alongside our video course Get Programming with Python in Motion, available exclusively at Manning.com: www.manning.com/livevideo/get-programming-with-python-in-motion Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. What's Inside Programming skills you can use in any language Learn to code—no experience required Learn Python, the language for beginners Dozens of exercises and examples help you learn by doing About the Reader No prior programming experience needed. Table of Contents LEARNING HOW TO PROGRAM Lesson 1 - Why should you learn how to program? Lesson 2 - Basic principles of learning a programming language UNIT 1 - VARIABLES, TYPES, EXPRESSIONS, AND STATEMENTS Lesson 3 - Introducing Python: a programming language Lesson 4 - Variables and expressions: giving names and values to things Lesson 5 - Object types and statements of code 46 Lesson 6 - Capstone project: your first Python program-convert hours to minutes UNIT 2 - STRINGS, TUPLES, AND INTERACTING WITH THE USER Lesson 7 - Introducing string objects: sequences of characters Lesson 8 - Advanced string operations Lesson 9 - Simple error messages Lesson 10 - Tuple objects: sequences of any kind of object Lesson 11 - Interacting with the user Lesson 12 - Capstone project: name mashup UNIT 3 - MAKING DECISIONS IN YOUR PROGRAMS Lesson 13 - Introducing decisions in programs Lesson 14 - Making more-complicated decisions Lesson 15 - Capstone project: choose your own adventure UNIT 4 - REPEATING TASKS Lesson 16 - Repeating tasks with loops Lesson 17 - Customizing loops Lesson 18 - Repeating tasks while conditions hold Lesson 19 - Capstone project: Scrabble, Art Edition UNIT 5 - ORGANIZING YOUR CODE INTO REUSABLE BLOCKS Lesson 20 - Building programs to last Lesson 21 - Achieving modularity and abstraction with functions Lesson 22 - Advanced operations with functions Lesson 23 - Capstone project: analyze your friends UNIT 6 - WORKING WITH MUTABLE DATA TYPES Lesson 24 - Mutable and immutable objects Lesson 25 - Working with lists Lesson 26 - Advanced operations with lists Lesson 27 - Dictionaries as maps between objects Lesson 28 - Aliasing and copying lists and dictionaries Lesson 29 - Capstone project: document similarity UNIT 7 - MAKING YOUR OWN OBJECT TYPES BY USING OBJECT-ORIENTED PROGRAMMING Lesson 30 - Making your own object types Lesson 31 - Creating a class for an object type Lesson 32 - Working with your own object types Lesson 33 - Customizing classes Lesson 34 - Capstone project: card game UNIT 8 - USING LIBRARIES TO ENHANCE YOUR PROGRAMS Lesson 35 - Useful libraries Lesson 36 - Testing and debugging your programs Lesson 37 - A library for graphical user interfaces Lesson 38 - Capstone project: game of tag Appendix A - Answers to lesson exercises Appendix B - Python cheat sheet Appendix C - Interesting Python libraries
Getting Smart
Author: Tom Vander Ark
Publisher: John Wiley & Sons
ISBN: 1118115872
Category : Education
Languages : en
Pages : 240
Book Description
A comprehensive look at the promise and potential of online learning In our digital age, students have dramatically new learning needs and must be prepared for the idea economy of the future. In Getting Smart, well-known global education expert Tom Vander Ark examines the facets of educational innovation in the United States and abroad. Vander Ark makes a convincing case for a blend of online and onsite learning, shares inspiring stories of schools and programs that effectively offer "personal digital learning" opportunities, and discusses what we need to do to remake our schools into "smart schools." Examines the innovation-driven world, discusses how to combine online and onsite learning, and reviews "smart tools" for learning Investigates the lives of learning professionals, outlines the new employment bargain, examines online universities and "smart schools" Makes the case for smart capital, advocates for policies that create better learning, studies smart cultures
Publisher: John Wiley & Sons
ISBN: 1118115872
Category : Education
Languages : en
Pages : 240
Book Description
A comprehensive look at the promise and potential of online learning In our digital age, students have dramatically new learning needs and must be prepared for the idea economy of the future. In Getting Smart, well-known global education expert Tom Vander Ark examines the facets of educational innovation in the United States and abroad. Vander Ark makes a convincing case for a blend of online and onsite learning, shares inspiring stories of schools and programs that effectively offer "personal digital learning" opportunities, and discusses what we need to do to remake our schools into "smart schools." Examines the innovation-driven world, discusses how to combine online and onsite learning, and reviews "smart tools" for learning Investigates the lives of learning professionals, outlines the new employment bargain, examines online universities and "smart schools" Makes the case for smart capital, advocates for policies that create better learning, studies smart cultures
Everything You Need to Ace Computer Science and Coding in One Big Fat Notebook
Author: Workman Publishing
Publisher: Workman Publishing Company
ISBN: 152351177X
Category : Juvenile Nonfiction
Languages : en
Pages : 576
Book Description
From the editors of Brain Quest, America’s #1 educational bestseller! This Big Fat Notebook makes it all “sink in” with key concepts, mnemonic devices, definitions, diagrams, and doodles to help you understand computer science. Including: Computing systems Binary code Algorithms Computational thinking Loops, events, and procedures Programming in Scratch and Python Boolean Expressions Web development Cybersecurity HTML CSS …and more! The Big Fat Notebook series is built on a simple and irresistible conceit—borrowing the notes from the smartest kid in class. Each book in the series meets Common Core State Standards, Next Generation Science Standards, and state history standards, and are vetted by National and State Teacher of the Year Award–winning teachers. They make learning fun and are the perfect next step for every kid who grew up on Brain Quest.
Publisher: Workman Publishing Company
ISBN: 152351177X
Category : Juvenile Nonfiction
Languages : en
Pages : 576
Book Description
From the editors of Brain Quest, America’s #1 educational bestseller! This Big Fat Notebook makes it all “sink in” with key concepts, mnemonic devices, definitions, diagrams, and doodles to help you understand computer science. Including: Computing systems Binary code Algorithms Computational thinking Loops, events, and procedures Programming in Scratch and Python Boolean Expressions Web development Cybersecurity HTML CSS …and more! The Big Fat Notebook series is built on a simple and irresistible conceit—borrowing the notes from the smartest kid in class. Each book in the series meets Common Core State Standards, Next Generation Science Standards, and state history standards, and are vetted by National and State Teacher of the Year Award–winning teachers. They make learning fun and are the perfect next step for every kid who grew up on Brain Quest.
Teach Your Kids to Code
Author: Bryson Payne
Publisher: No Starch Press
ISBN: 1593276818
Category : Computers
Languages : en
Pages : 336
Book Description
Teach Your Kids to Code is a parent's and teacher's guide to teaching kids basic programming and problem solving using Python, the powerful language used in college courses and by tech companies like Google and IBM. Step-by-step explanations will have kids learning computational thinking right away, while visual and game-oriented examples hold their attention. Friendly introductions to fundamental programming concepts such as variables, loops, and functions will help even the youngest programmers build the skills they need to make their own cool games and applications. Whether you've been coding for years or have never programmed anything at all, Teach Your Kids to Code will help you show your young programmer how to: –Explore geometry by drawing colorful shapes with Turtle graphics –Write programs to encode and decode messages, play Rock-Paper-Scissors, and calculate how tall someone is in Ping-Pong balls –Create fun, playable games like War, Yahtzee, and Pong –Add interactivity, animation, and sound to their apps Teach Your Kids to Code is the perfect companion to any introductory programming class or after-school meet-up, or simply your educational efforts at home. Spend some fun, productive afternoons at the computer with your kids—you can all learn something!
Publisher: No Starch Press
ISBN: 1593276818
Category : Computers
Languages : en
Pages : 336
Book Description
Teach Your Kids to Code is a parent's and teacher's guide to teaching kids basic programming and problem solving using Python, the powerful language used in college courses and by tech companies like Google and IBM. Step-by-step explanations will have kids learning computational thinking right away, while visual and game-oriented examples hold their attention. Friendly introductions to fundamental programming concepts such as variables, loops, and functions will help even the youngest programmers build the skills they need to make their own cool games and applications. Whether you've been coding for years or have never programmed anything at all, Teach Your Kids to Code will help you show your young programmer how to: –Explore geometry by drawing colorful shapes with Turtle graphics –Write programs to encode and decode messages, play Rock-Paper-Scissors, and calculate how tall someone is in Ping-Pong balls –Create fun, playable games like War, Yahtzee, and Pong –Add interactivity, animation, and sound to their apps Teach Your Kids to Code is the perfect companion to any introductory programming class or after-school meet-up, or simply your educational efforts at home. Spend some fun, productive afternoons at the computer with your kids—you can all learn something!
The Art of Assembly Language, 2nd Edition
Author: Randall Hyde
Publisher: No Starch Press
ISBN: 1593272073
Category : Computers
Languages : en
Pages : 764
Book Description
Assembly is a low-level programming language that's one step above a computer's native machine language. Although assembly language is commonly used for writing device drivers, emulators, and video games, many programmers find its somewhat unfriendly syntax intimidating to learn and use. Since 1996, Randall Hyde's The Art of Assembly Language has provided a comprehensive, plain-English, and patient introduction to 32-bit x86 assembly for non-assembly programmers. Hyde's primary teaching tool, High Level Assembler (or HLA), incorporates many of the features found in high-level languages (like C, C++, and Java) to help you quickly grasp basic assembly concepts. HLA lets you write true low-level code while enjoying the benefits of high-level language programming. As you read The Art of Assembly Language, you'll learn the low-level theory fundamental to computer science and turn that understanding into real, functional code. You'll learn how to: –Edit, compile, and run HLA programs –Declare and use constants, scalar variables, pointers, arrays, structures, unions, and namespaces –Translate arithmetic expressions (integer and floating point) –Convert high-level control structures This much anticipated second edition of The Art of Assembly Language has been updated to reflect recent changes to HLA and to support Linux, Mac OS X, and FreeBSD. Whether you're new to programming or you have experience with high-level languages, The Art of Assembly Language, 2nd Edition is your essential guide to learning this complex, low-level language.
Publisher: No Starch Press
ISBN: 1593272073
Category : Computers
Languages : en
Pages : 764
Book Description
Assembly is a low-level programming language that's one step above a computer's native machine language. Although assembly language is commonly used for writing device drivers, emulators, and video games, many programmers find its somewhat unfriendly syntax intimidating to learn and use. Since 1996, Randall Hyde's The Art of Assembly Language has provided a comprehensive, plain-English, and patient introduction to 32-bit x86 assembly for non-assembly programmers. Hyde's primary teaching tool, High Level Assembler (or HLA), incorporates many of the features found in high-level languages (like C, C++, and Java) to help you quickly grasp basic assembly concepts. HLA lets you write true low-level code while enjoying the benefits of high-level language programming. As you read The Art of Assembly Language, you'll learn the low-level theory fundamental to computer science and turn that understanding into real, functional code. You'll learn how to: –Edit, compile, and run HLA programs –Declare and use constants, scalar variables, pointers, arrays, structures, unions, and namespaces –Translate arithmetic expressions (integer and floating point) –Convert high-level control structures This much anticipated second edition of The Art of Assembly Language has been updated to reflect recent changes to HLA and to support Linux, Mac OS X, and FreeBSD. Whether you're new to programming or you have experience with high-level languages, The Art of Assembly Language, 2nd Edition is your essential guide to learning this complex, low-level language.
Discovering Computer Science
Author: Jessen Havill
Publisher: CRC Press
ISBN: 1000218481
Category : Computers
Languages : en
Pages : 522
Book Description
"Havill's problem-driven approach introduces algorithmic concepts in context and motivates students with a wide range of interests and backgrounds." -- Janet Davis, Associate Professor and Microsoft Chair of Computer Science, Whitman College "This book looks really great and takes exactly the approach I think should be used for a CS 1 course. I think it really fills a need in the textbook landscape." -- Marie desJardins, Dean of the College of Organizational, Computational, and Information Sciences, Simmons University "Discovering Computer Science is a refreshing departure from introductory programming texts, offering students a much more sincere introduction to the breadth and complexity of this ever-growing field." -- James Deverick, Senior Lecturer, The College of William and Mary "This unique introduction to the science of computing guides students through broad and universal approaches to problem solving in a variety of contexts and their ultimate implementation as computer programs." -- Daniel Kaplan, DeWitt Wallace Professor, Macalester College Discovering Computer Science: Interdisciplinary Problems, Principles, and Python Programming is a problem-oriented introduction to computational problem solving and programming in Python, appropriate for a first course for computer science majors, a more targeted disciplinary computing course or, at a slower pace, any introductory computer science course for a general audience. Realizing that an organization around language features only resonates with a narrow audience, this textbook instead connects programming to students’ prior interests using a range of authentic problems from the natural and social sciences and the digital humanities. The presentation begins with an introduction to the problem-solving process, contextualizing programming as an essential component. Then, as the book progresses, each chapter guides students through solutions to increasingly complex problems, using a spiral approach to introduce Python language features. The text also places programming in the context of fundamental computer science principles, such as abstraction, efficiency, testing, and algorithmic techniques, offering glimpses of topics that are traditionally put off until later courses. This book contains 30 well-developed independent projects that encourage students to explore questions across disciplinary boundaries, over 750 homework exercises, and 300 integrated reflection questions engage students in problem solving and active reading. The accompanying website — https://www.discoveringcs.net — includes more advanced content, solutions to selected exercises, sample code and data files, and pointers for further exploration.
Publisher: CRC Press
ISBN: 1000218481
Category : Computers
Languages : en
Pages : 522
Book Description
"Havill's problem-driven approach introduces algorithmic concepts in context and motivates students with a wide range of interests and backgrounds." -- Janet Davis, Associate Professor and Microsoft Chair of Computer Science, Whitman College "This book looks really great and takes exactly the approach I think should be used for a CS 1 course. I think it really fills a need in the textbook landscape." -- Marie desJardins, Dean of the College of Organizational, Computational, and Information Sciences, Simmons University "Discovering Computer Science is a refreshing departure from introductory programming texts, offering students a much more sincere introduction to the breadth and complexity of this ever-growing field." -- James Deverick, Senior Lecturer, The College of William and Mary "This unique introduction to the science of computing guides students through broad and universal approaches to problem solving in a variety of contexts and their ultimate implementation as computer programs." -- Daniel Kaplan, DeWitt Wallace Professor, Macalester College Discovering Computer Science: Interdisciplinary Problems, Principles, and Python Programming is a problem-oriented introduction to computational problem solving and programming in Python, appropriate for a first course for computer science majors, a more targeted disciplinary computing course or, at a slower pace, any introductory computer science course for a general audience. Realizing that an organization around language features only resonates with a narrow audience, this textbook instead connects programming to students’ prior interests using a range of authentic problems from the natural and social sciences and the digital humanities. The presentation begins with an introduction to the problem-solving process, contextualizing programming as an essential component. Then, as the book progresses, each chapter guides students through solutions to increasingly complex problems, using a spiral approach to introduce Python language features. The text also places programming in the context of fundamental computer science principles, such as abstraction, efficiency, testing, and algorithmic techniques, offering glimpses of topics that are traditionally put off until later courses. This book contains 30 well-developed independent projects that encourage students to explore questions across disciplinary boundaries, over 750 homework exercises, and 300 integrated reflection questions engage students in problem solving and active reading. The accompanying website — https://www.discoveringcs.net — includes more advanced content, solutions to selected exercises, sample code and data files, and pointers for further exploration.