'When I teach computer science courses, I want to cover important concepts in addition to making the material interesting and...
see more

'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’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’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 — 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.'

Pick a Bookmark Collection or Course ePortfolio to put this material in or scroll to the bottom to create a new Bookmark Collection

Name the Bookmark Collection to represent the materials you will add

Describe the Bookmark Collection so other MERLOT users will know what it contains and if it has value for their work or teaching. Other users can copy your Bookmark Collection to their own profile and modify it to save time

Edit the information about the material in this {0}

Submitting Bookmarks...

Select this link to open drop down to add material How to Think Like a Computer Scientist - Learning with Python to your Bookmark Collection or Course ePortfolio

Select this link to close drop down of your Bookmark Collection or Course ePortfolio for material How to Think Like a Computer Scientist - Learning with Python

Select this link to open drop down to add material How to Think Like a Computer Scientist - Learning with Python to your Bookmark Collection or Course ePortfolio

'This is an introductory course and covers the key features of the C language and its usage. The first five chapters help in...
see more

'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'

Pick a Bookmark Collection or Course ePortfolio to put this material in or scroll to the bottom to create a new Bookmark Collection

Name the Bookmark Collection to represent the materials you will add

Describe the Bookmark Collection so other MERLOT users will know what it contains and if it has value for their work or teaching. Other users can copy your Bookmark Collection to their own profile and modify it to save time

Edit the information about the material in this {0}

Submitting Bookmarks...

Select this link to open drop down to add material Programming in C to your Bookmark Collection or Course ePortfolio

Select this link to close drop down of your Bookmark Collection or Course ePortfolio for material Programming in C

Select this link to open drop down to add material Programming in C to your Bookmark Collection or Course ePortfolio

This book unites two approaches to teaching programming languages, one based on a survey of languages and the other on...
see more

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’t know the answer, but because 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’re reading.At the end, you’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, “Just tell me the answer, already!”), and it makes the book a poor reference guide (you can’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’t know of a way around it.''The main programming language used in this book is Racket. Like with all operating systems, however, Racket actually supports a host of programming languages, so you must tell Racket which language you’re programming in.'

Pick a Bookmark Collection or Course ePortfolio to put this material in or scroll to the bottom to create a new Bookmark Collection

Name the Bookmark Collection to represent the materials you will add

Describe the Bookmark Collection so other MERLOT users will know what it contains and if it has value for their work or teaching. Other users can copy your Bookmark Collection to their own profile and modify it to save time

Edit the information about the material in this {0}

Submitting Bookmarks...

Select this link to open drop down to add material Programming Languages: Application and Interpretation to your Bookmark Collection or Course ePortfolio

Select this link to close drop down of your Bookmark Collection or Course ePortfolio for material Programming Languages: Application and Interpretation

Select this link to open drop down to add material Programming Languages: Application and Interpretation to your Bookmark Collection or Course ePortfolio

a concise introduction to software design using the Python programming language. Intended for people with no programming...
see more

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.

Pick a Bookmark Collection or Course ePortfolio to put this material in or scroll to the bottom to create a new Bookmark Collection

Name the Bookmark Collection to represent the materials you will add

Describe the Bookmark Collection so other MERLOT users will know what it contains and if it has value for their work or teaching. Other users can copy your Bookmark Collection to their own profile and modify it to save time

Edit the information about the material in this {0}

Submitting Bookmarks...

Select this link to open drop down to add material Python for Software Design: How to Think Like a Computer Scientist to your Bookmark Collection or Course ePortfolio

Select this link to close drop down of your Bookmark Collection or Course ePortfolio for material Python for Software Design: How to Think Like a Computer Scientist

Select this link to open drop down to add material Python for Software Design: How to Think Like a Computer Scientist to your Bookmark Collection or Course ePortfolio

Pick a Bookmark Collection or Course ePortfolio to put this material in or scroll to the bottom to create a new Bookmark Collection

Name the Bookmark Collection to represent the materials you will add

Describe the Bookmark Collection so other MERLOT users will know what it contains and if it has value for their work or teaching. Other users can copy your Bookmark Collection to their own profile and modify it to save time

Edit the information about the material in this {0}

Submitting Bookmarks...

Select this link to open drop down to add material Discovering Information Systems to your Bookmark Collection or Course ePortfolio

Select this link to close drop down of your Bookmark Collection or Course ePortfolio for material Discovering Information Systems

Select this link to open drop down to add material Discovering Information Systems to your Bookmark Collection or Course ePortfolio

Books and articles on instructional design in online learning abound but rarely do we get such a comprehensive picture of...
see more

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.

Pick a Bookmark Collection or Course ePortfolio to put this material in or scroll to the bottom to create a new Bookmark Collection

Name the Bookmark Collection to represent the materials you will add

Describe the Bookmark Collection so other MERLOT users will know what it contains and if it has value for their work or teaching. Other users can copy your Bookmark Collection to their own profile and modify it to save time

Edit the information about the material in this {0}

Submitting Bookmarks...

Select this link to open drop down to add material A Designer's Log: Case Studies in Instructional Design to your Bookmark Collection or Course ePortfolio

Select this link to close drop down of your Bookmark Collection or Course ePortfolio for material A Designer's Log: Case Studies in Instructional Design

Select this link to open drop down to add material A Designer's Log: Case Studies in Instructional Design to your Bookmark Collection or Course ePortfolio

Overview of accessibility issues for people with disabilities in distance education. Includes information on various...
see more

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.

Pick a Bookmark Collection or Course ePortfolio to put this material in or scroll to the bottom to create a new Bookmark Collection

Name the Bookmark Collection to represent the materials you will add

Describe the Bookmark Collection so other MERLOT users will know what it contains and if it has value for their work or teaching. Other users can copy your Bookmark Collection to their own profile and modify it to save time

Edit the information about the material in this {0}

Submitting Bookmarks...

Select this link to open drop down to add material Accomodating Students with Disabilities to your Bookmark Collection or Course ePortfolio

Select this link to close drop down of your Bookmark Collection or Course ePortfolio for material Accomodating Students with Disabilities

Select this link to open drop down to add material Accomodating Students with Disabilities to your Bookmark Collection or Course ePortfolio

This book is written as a series of conversations. In each conversation the participants discuss, argue about, and develop...
see more

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.

Pick a Bookmark Collection or Course ePortfolio to put this material in or scroll to the bottom to create a new Bookmark Collection

Name the Bookmark Collection to represent the materials you will add

Describe the Bookmark Collection so other MERLOT users will know what it contains and if it has value for their work or teaching. Other users can copy your Bookmark Collection to their own profile and modify it to save time

Edit the information about the material in this {0}

Submitting Bookmarks...

Select this link to open drop down to add material Advanced Topics in Learning Object Design and Reuse to your Bookmark Collection or Course ePortfolio

Select this link to close drop down of your Bookmark Collection or Course ePortfolio for material Advanced Topics in Learning Object Design and Reuse

Select this link to open drop down to add material Advanced Topics in Learning Object Design and Reuse to your Bookmark Collection or Course ePortfolio

This book was written and submitted to the Open Textbook Challenge by Dr. Olivier Bonaventure of the Université catholique de...
see more

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.״

Pick a Bookmark Collection or Course ePortfolio to put this material in or scroll to the bottom to create a new Bookmark Collection

Name the Bookmark Collection to represent the materials you will add

Describe the Bookmark Collection so other MERLOT users will know what it contains and if it has value for their work or teaching. Other users can copy your Bookmark Collection to their own profile and modify it to save time

Edit the information about the material in this {0}

Submitting Bookmarks...

Select this link to open drop down to add material Computer Networking: Principles, Protocols, and Practice to your Bookmark Collection or Course ePortfolio

Select this link to close drop down of your Bookmark Collection or Course ePortfolio for material Computer Networking: Principles, Protocols, and Practice

Select this link to open drop down to add material Computer Networking: Principles, Protocols, and Practice to your Bookmark Collection or Course ePortfolio

'This book is meant to be suitable for typical science and engineering students in their first year of college. That is, we...
see more

'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.'

Pick a Bookmark Collection or Course ePortfolio to put this material in or scroll to the bottom to create a new Bookmark Collection

Name the Bookmark Collection to represent the materials you will add

Describe the Bookmark Collection so other MERLOT users will know what it contains and if it has value for their work or teaching. Other users can copy your Bookmark Collection to their own profile and modify it to save time

Edit the information about the material in this {0}

Submitting Bookmarks...

Select this link to open drop down to add material Introduction to Programming in Java to your Bookmark Collection or Course ePortfolio

Select this link to close drop down of your Bookmark Collection or Course ePortfolio for material Introduction to Programming in Java

Select this link to open drop down to add material Introduction to Programming in Java to your Bookmark Collection or Course ePortfolio