Reflections on the Teaching of Programming


Book Description

The authors are all members of the Scandinavian Pedagogy of Programming Network (SPoP), and bring together a diverse body of experiences from the Nordic countries. The 14 chapters of the book have been carefully written and edited to present 4 coherent units on issues in introductory programming courses, object-oriented programming, teaching software engineering issues, and assessment. Each of these individual parts has its own detailed introduction.




Reflections on the Teaching of Programming


Book Description

This state-of-the-art survey, reflecting on the teaching of programming, has been written by a group of primarily Scandinavian researchers and educators with special interest and experience in the subject of programming. The 14 chapters - contributed by 24 authors - present practical experience gathered in the process of teaching programming and associated with computing education research work. Special emphasis is placed on practical advice and concrete suggestions. The authors are all members of the Scandinavian Pedagogy of Programming Network (SPoP), and bring together a diverse body of experiences from the Nordic countries. The 14 chapters of the book have been carefully written and edited to present 4 coherent units on issues in introductory programming courses, object-oriented programming, teaching software engineering issues, and assessment. Each of these individual parts has its own detailed introduction. The topics addressed span a wide range of problems and solutions associated with the teaching of programming such as introductory programming courses, exposition of the programming process, apprentice-based learning, functional programming first, problem-based learning, the use of on-line tutorials, object-oriented programming and Java, the BlueJ environment to introduce programming, model-driven programming as opposed to the prevailing language-driven approach, teaching software engineering, testing, extreme programming, frameworks, feedback and assessment, active learning, technology-based individual feedback, and mini project programming exams.




Coders at Work


Book Description

Peter Seibel interviews 15 of the most interesting computer programmers alive today in Coders at Work, offering a companion volume to Apress’s highly acclaimed best-seller Founders at Work by Jessica Livingston. As the words “at work” suggest, Peter Seibel focuses on how his interviewees tackle the day-to-day work of programming, while revealing much more, like how they became great programmers, how they recognize programming talent in others, and what kinds of problems they find most interesting. Hundreds of people have suggested names of programmers to interview on the Coders at Work web site: www.codersatwork.com. The complete list was 284 names. Having digested everyone’s feedback, we selected 15 folks who’ve been kind enough to agree to be interviewed: Frances Allen: Pioneer in optimizing compilers, first woman to win the Turing Award (2006) and first female IBM fellow Joe Armstrong: Inventor of Erlang Joshua Bloch: Author of the Java collections framework, now at Google Bernie Cosell: One of the main software guys behind the original ARPANET IMPs and a master debugger Douglas Crockford: JSON founder, JavaScript architect at Yahoo! L. Peter Deutsch: Author of Ghostscript, implementer of Smalltalk-80 at Xerox PARC and Lisp 1.5 on PDP-1 Brendan Eich: Inventor of JavaScript, CTO of the Mozilla Corporation Brad Fitzpatrick: Writer of LiveJournal, OpenID, memcached, and Perlbal Dan Ingalls: Smalltalk implementor and designer Simon Peyton Jones: Coinventor of Haskell and lead designer of Glasgow Haskell Compiler Donald Knuth: Author of The Art of Computer Programming and creator of TeX Peter Norvig: Director of Research at Google and author of the standard text on AI Guy Steele: Coinventor of Scheme and part of the Common Lisp Gang of Five, currently working on Fortress Ken Thompson: Inventor of UNIX Jamie Zawinski: Author of XEmacs and early Netscape/Mozilla hacker




Empower


Book Description

In Empower, A.J. Juliani and John Spencer provide teachers, coaches, and administrators with a roadmap that will inspire innovation, authentic learning experiences, and practical ways to empower students to pursue their passions while in school. Empower will provide ways to overcome challenges and turn them into opportunities for our learners.




Guide to Teaching Computer Science


Book Description

This guide presents both a conceptual framework and detailed implementation guidelines for general computer science (CS) teaching. The content is clearly written and structured to be applicable to all levels of CS education and for any teaching organization, without limiting its focus to instruction for any specific curriculum, programming language or paradigm. Features: presents an overview of research in CS education; examines strategies for teaching problem-solving, evaluating pupils, and for dealing with pupils’ misunderstandings; provides learning activities throughout the book; proposes active-learning-based classroom teaching methods, as well as methods specifically for lab-based teaching; discusses various types of questions that a CS instructor, tutor, or trainer can use for a range of different teaching situations; investigates thoroughly issues of lesson planning and course design; describes frameworks by which prospective CS teachers gain their first teaching experience.




Digital Humanities Pedagogy


Book Description

"The essays in this collection offer a timely intervention in digital humanities scholarship, bringing together established and emerging scholars from a variety of humanities disciplines across the world. The first section offers views on the practical realities of teaching digital humanities at undergraduate and graduate levels, presenting case studies and snapshots of the authors' experiences alongside models for future courses and reflections on pedagogical successes and failures. The next section proposes strategies for teaching foundational digital humanities methods across a variety of scholarly disciplines, and the book concludes with wider debates about the place of digital humanities in the academy, from the field's cultural assumptions and social obligations to its political visions." (4e de couverture).







Mindstorms


Book Description

In this revolutionary book, a renowned computer scientist explains the importance of teaching children the basics of computing and how it can prepare them to succeed in the ever-evolving tech world. Computers have completely changed the way we teach children. We have Mindstorms to thank for that. In this book, pioneering computer scientist Seymour Papert uses the invention of LOGO, the first child-friendly programming language, to make the case for the value of teaching children with computers. Papert argues that children are more than capable of mastering computers, and that teaching computational processes like de-bugging in the classroom can change the way we learn everything else. He also shows that schools saturated with technology can actually improve socialization and interaction among students and between students and teachers. Technology changes every day, but the basic ways that computers can help us learn remain. For thousands of teachers and parents who have sought creative ways to help children learn with computers, Mindstorms is their bible.




Learn Programming


Book Description

This book is aimed at readers who are interested in software development but have very little to no prior experience. The book focuses on teaching the core principles around software development. It uses several technologies to this goal (e.g. C, Python, JavaScript, HTML, etc.) but is not a book about the technologies themselves. The reader will learn the basics (or in some cases more) of various technologies along the way, but the focus is on building a foundation for software development. The book is your guided tour through the programming jungle, aiming to provide some clarity and build the foundation for software development skills. The book web site is https: //progbook.org/




The Cambridge Handbook of Computing Education Research


Book Description

This is an authoritative introduction to Computing Education research written by over 50 leading researchers from academia and the industry.