MERLOT Search - materialType=Open%20Textbook&category=2635&sort.property=overallRatinghttp://www.merlot.org:80/merlot/
A search of MERLOT materialsCopyright 1997-2015 MERLOT. All rights reserved.Sun, 2 Aug 2015 15:32:54 PDTSun, 2 Aug 2015 15:32:54 PDTMERLOT Search - materialType=Open%20Textbook&category=2635&sort.property=overallRatinghttp://www.merlot.org:80/merlot/images/merlot.gifhttp://www.merlot.org:80/merlot/
4434How to Think Like a Computer Scientist - Learning with Pythonhttp://www.merlot.org/merlot/viewMaterial.htm?id=356429
'When I teach computer science courses, I want to cover important concepts in addition to making the material interesting and engaging to students. Unfortunately, there is a tendency for introductory programming courses to focus far too much attention on mathematical abstraction and for students to become frustrated with annoying problems related to low-level details of syntax, compilation, and the enforcement of seemingly arcane rules. Although such abstraction and formalism is important to professional software engineers and students who plan to continue their study of computer science, taking such an approach in an introductory course mostly succeeds in making computer science boring. When I teach a course, I don&rsquo;t want to have a room of uninspired students. I would much rather see them trying to solve interesting problems by exploring different ideas, taking unconventional approaches, breaking the rules, and learning from their mistakes. In doing so, I don&rsquo;t want to waste half of the semester trying to sort out obscure syntax problems, unintelligible compiler error messages, or the several hundred ways that a program might generate a general protection fault.One of the reasons why I like Python is that it provides a really nice balance between the practical and the conceptual. Since Python is interpreted, beginners can pick up the language and start doing neat things almost immediately without getting lost in the problems of compilation and linking. Furthermore, Python comes with a large library of modules that can be used to do all sorts of tasks ranging from web-programming to graphics. Having such a practical focus is a great way to engage students and it allows them to complete significant projects. However, Python can also serve as an excellent foundation for introducing important computer science concepts. Since Python fully supports procedures and classes, students can be gradually introduced to topics such as procedural abstraction, data structures, and object-oriented programming &mdash; all of which are applicable to later courses on Java or C++. Python even borrows a number of features from functional programming languages and can be used to introduce concepts that would be covered in more detail in courses on Scheme and Lisp.'Fri, 19 Dec 2008 11:39:12 -0800Programming in Chttp://www.merlot.org/merlot/viewMaterial.htm?id=335560
'This is an introductory course and covers the key features of the C language and its usage. The first five chapters help in thoroughly understanding the C syntax. The latter chapters focus on more complex concepts of the C language. This course will briefly touch upon some of the standard C library functions and the mechanism used in the implementation of the same. This course is based on industrial programming experience and extensive study of the language.The topics are arranged in a sequence most commonly used to teach the material in college courses.Chapter 1: History of C Programming languageChapter 2: Compiling a simple C programChapter 3: Variables, Data types and ConstantsChapter 4: Arithmetic expressionsChapter 5: Control of FlowChapter 6: ArraysChapter 7: FunctionsChapter 8: Structures and UnionsChapter 9: StringsChapter 10: PointersChapter 11: Operation on BitsChapter 12: Input and outputChapter 13: File handlingChapter 14: C PreprocessorChapter 15: MiscellaneousAppendix A : Some Standard C library functionsAppendix B : Answers to exercises'Sun, 31 Aug 2008 21:03:43 -0700Programming Languages: Application and Interpretationhttp://www.merlot.org/merlot/viewMaterial.htm?id=313494
This book unites two approaches to teaching programming languages, one based on a survey of languages and the other on writing definitional interpreters. It has been used as a textbook at over fifteen institutions worldwide, and is referenced by non-academic users on the Web. The book is updated approximately every year.'Unlike some other textbooks, this one does not follow a top-down narrative. Rather it has the flow of a conversation, with backtracking. We will often build up programs incrementally, just as a pair of programmers would. We will include mistakes, not because I don&rsquo;t know the answer, but because&nbsp;this is the best way for you to learn. Including mistakes makes it impossible for you to read passively: you must instead engage with the material, because you can never be sure of the veracity of what you&rsquo;re reading.At the end, you&rsquo;ll always get to the right answer. However, this non-linear path is more frustrating in the short term (you will often be tempted to say, &ldquo;Just tell me the answer, already!&rdquo;), and it makes the book a poor reference guide (you can&rsquo;t open up to a random page and be sure what it says is correct). However, that feeling of frustration is the sensation of learning. I don&rsquo;t know of a way around it.''The main programming language used in this book is&nbsp;Racket. Like with all operating systems, however, Racket actually supports a host of programming languages, so you must tell Racket&nbsp;which&nbsp;language you&rsquo;re programming in.'Fri, 30 May 2008 00:47:06 -0700Python for Software Design: How to Think Like a Computer Scientisthttp://www.merlot.org/merlot/viewMaterial.htm?id=335533
a concise introduction to software design using the Python programming language. Intended for people with no programming experience, this book starts with the most basic concepts and gradually adds new material.Sun, 31 Aug 2008 19:23:15 -0700Discovering Information Systemshttp://www.merlot.org/merlot/viewMaterial.htm?id=356139
Computer science textbook with 13 chapters, grouped into four sections: 1) What is Information Systems? 2)IS Technologies. information systems: computer hardware, software, communications systems and databases, 3) IS Applications, and 4) IS Management.Tue, 16 Dec 2008 21:21:16 -0800A Designer's Log: Case Studies in Instructional Designhttp://www.merlot.org/merlot/viewMaterial.htm?id=434090
Books and articles on instructional design in online learning abound but rarely do we get such a comprehensive picture of what instructional designers do, how they do it, and the problems they solve as their university changes. Power documents the emergence of an adapted instructional design model for transforming courses from single-mode to dual-mode instruction, making this designer’s log a unique contribution to the field of online learning. Fri, 19 Feb 2010 14:54:39 -0800Accomodating Students with Disabilitieshttp://www.merlot.org/merlot/viewMaterial.htm?id=80941
Overview of accessibility issues for people with disabilities in distance education. Includes information on various disabilities and the implications each have on the design of distance education, access symbols which may be used to promote and publicize accessibility for individuals with disabilities, and legal rulings and relevant cases regarding accessibility to distance education.Fri, 7 May 2004 00:00:00 -0700Advanced Topics in Learning Object Design and Reusehttp://www.merlot.org/merlot/viewMaterial.htm?id=434674
This book is written as a series of conversations. In each conversation the participants discuss, argue about, and develop issues critical to the effective design and instructional use of learning objects.Mon, 22 Feb 2010 11:42:35 -0800Computer Networking: Principles, Protocols, and Practicehttp://www.merlot.org/merlot/viewMaterial.htm?id=656489
This book was written and submitted to the Open Textbook Challenge by Dr. Olivier Bonaventure of the Université catholique de Louvain (UCL) in Louvain-la-Neuve, Belgium. He also serves as the Education Director of ACM SIGCOMM. Computer Networking has already been used by several universities around the world, including UCL. From the preface: "This open textbook aims to ﬁll the gap between the open-source implementations and the open-source network speciﬁcations by providing a detailed but pedagogical description of the key principles that guide the operation of the Internet.״Wed, 23 May 2012 13:38:53 -0700Introduction to Programming in Javahttp://www.merlot.org/merlot/viewMaterial.htm?id=881674
'This book is meant to be suitable for typical science and engineering students in their first year of college. That is, we do not expect preparation beyond what is typically required for other entry-level science and mathematics courses. Mathematical maturity is important. While we do not dwell on mathematical material, we do refer to the mathematics curriculum that students have taken in high school, including algebra, geometry, and trigonometry. Most students in our target audience (those intending to major in the sciences and engineering) automatically meet these requirements. Indeed, we take advantage of their familiarity with the basic curriculum to introduce basic programming concepts. Scientific curiosity is also an essential ingredient. Science and engineering students bring with them a sense of fascination in the ability of scientific inquiry to help explain what goes on in nature. We leverage this predilection with examples of simple programs that speak volumes about the natural world. We do not assume any specific knowledge beyond that provided by typical high school courses in mathematics, physics, biology, or chemistry. Programming experience is not necessary, but also is not harmful. Teaching programming is our primary goal, so we assume no prior programming experience. But writing a program to solve a new problem is a challenging intellectual task, so students who have written numerous programs in high school can benefit from taking an introductory programming course based on this book (just as students who have written numerous essays in high school can benefit from an introductory writing course in college). The book can support teaching students with varying backgrounds because the applications appeal to both novices and experts alike. Experience using a computer is also not necessary, but also is not at all a problem. College students use computers regularly, to communicate with friends and relatives, listen to music, process photos, and many other activities. The realization that they can harness the power of their own computer in interesting and important ways is an exciting and lasting lesson. In summary, virtually all students in science and engineering are prepared to take a course based on this book as a part of their first-semester curriculum.'Tue, 29 Jul 2014 07:08:04 -0700