The syllabus for CS145A: Introduction to Programming (in Python), taught at Eastern Mennonite University.
- Subject:
- Computer Science
- Material Type:
- Syllabus
- Author:
- Daniel Showalter
- Date Added:
- 05/26/2020
The syllabus for CS145A: Introduction to Programming (in Python), taught at Eastern Mennonite University.
This book contains roughly three parts. The first 11 chapters discussthe JavaScript language itself. The next eight chapters are about webbrowsers and the way JavaScript is used to program them. Finally,two chapters are devoted to Node.js, another environment to programJavaScript in.Throughout the book, there are five project chapters, which describelarger example programs to give you a taste of real programming. Inorder of appearance, we will work through building an artificial life simulation,a programming language, a platform game, a paint program,and a dynamic website.
This textbook provides a compact introduction to using the R programming language for data analysis. While there are good, freely available resources for learning these skills, they are generally not optimized for use in the classroom. Most fail to include a range of exercises, expect a high level of prior programming or mathematical experience, or only cover a specific niche aspect of data science. Moreover, the vast majority of these free sources do not include permissive licenses that make it easy to re-mix them and adapt it to a specific course. This textbook address these concerns by providing chapters designed to be covered in a single class period, a wide variety of exercises, and a Creative Commons license that allows others to make and republish their notes according to the needs of a specific curriculum.
The single most important skill for a computer scientist is problem solving. The goal of this book is to teach you to think like a computer scientist.
Computers are everywhere in our daily lives. Between the desktop, laptop, phone, bank, and vehicle, it is difficult to completely get away from computers. It only makes sense to learn a little about how a computer really works.This text provides an introduction to programming and problem solving using the Fortran 95/2003/2008 programming language. This introduction is geared for non-computer science majors. The primary focus is on an introduction to problem solving and algorithm development. As such, many details of the Fortran 95/2003/2008 language are omitted.
This workbook provides discussions, programming assignments, projects, and class exercises revolving around the “Knapsack Problem” (KP), which is widely a recognized model that is taught within a typical Computer Science curriculum. Throughout these discussions, we use KP to introduce or review topics found in courses covering topics in Discrete Mathematics, Mathematical Programming, Data Structures, Algorithms, Computational Complexity, etc. Because of the broad range of subjects discussed, this workbook and the accompanying spreadsheet files might be used as part of some CS capstone experience. Otherwise, we recommend that individual sections be used, as needed, for exercises relevant to a course in the major sequence. Each section, save for the Introduction, is written so that it can be presented independently of any other.
Programming patterns are solutions to problems that require the creation of a small fragment of code that will be part of a larger program. Hence, this book is about teaching you how to write such fragments of code. However, it is not about teaching you the syntax of the statements in the fragments, it assumes that you already know the syntax. Instead, it is about finding solutions to problems that arise when first learning to program.
Table of Contents
I. Patterns Requiring Knowledge of Types, Variables, and Arithmetic Operators
II. Patterns Requiring Knowledge of Logical and Relational Operators, Conditions, and Methods
III. Patterns Requiring Knowledge of Loops, Arrays, and I/O
IV. Patterns Requiring Advanced Knowledge of Arrays and Arrays of Arrays
V. Patterns Requiring Knowledge of String Objects
VI. Patterns Requiring Knowledge of References
Programming Fundamentals - A Modular Structured Approach using C++ is written by Kenneth Leroy Busbee, a faculty member at Houston Community College in Houston, Texas. The materials used in this textbook/collection were developed by the author and others as independent modules for publication within the Connexions environment. Programming fundamentals are often divided into three college courses: Modular/Structured, Object Oriented and Data Structures. This textbook/collection covers the first of those three courses.
The Python Jubilee Project adapted various available OER into a single resource for an introductory course in programming in Python. Dr. Showalter arranged the materials into weekly course modules that can be accessed and completed by enrolled students.
Think Java is an introduction to computer science and programming intended for people with little or no experience. We start with the most basic concepts and are careful to define all terms when they are first used. The book presents each new idea in a logical progression. Larger topics, like recursion and object-oriented programming, are divided into smaller examples and introduced over the course of several chapters.
Table of Contents:
Preface
Chapter 1: Computer Programming
Chapter 2: Variables and Operators
Chapter 3: Input and Output
Chapter 4: Methods and Testing
Chapter 5: Conditionals and Logic
Chapter 6: Loops and Strings
Chapter 7: Arrays and References
Chapter 8: Recursive Methods
Chapter 9: Immutable Objects
Chapter 10: Mutable Objects
Chapter 11: Designing Classes
Chapter 12: Arrays of Objects
Chapter 13: Objects of Arrays
Chapter 14: Extending Classes
Chapter 15: Arrays of Arrays
Chapter 16: Reusing Classes
Chapter 17: Advanced Topics
Appendix A: Tools
Appendix B: Javadoc
Appendix C: Graphics
Appendix D: Debugging
Index
Think Java is an introduction to Java programming for beginners. It is tailored for students preparing for the Computer Science Advanced Placement (AP) Exam, but it is for anyone who wants to learn Java.
The goal of this book is to teach you to think like a computer scientist. This way of thinking combines some of the best features of mathematics, engineering, and natural science. Like mathematicians, computer scientists use formal languages to denote ideas (specifically computations). Like engineers, they design things, assembling components into systems and evaluating tradeoffs among alternatives. Like scientists, they observe the behavior of complex systems, form hypotheses, and test predictions.