The Cupola: Scholarship at Gettysburg College is proud to host open textbooks, lab manuals, and other learning materials created by Gettysburg College faculty and employees.
If you are the author of higher education learning materials and would like to share them broadly, please be in touch. The Cupola's platform ensures that resources are indexed and discoverable. Usage statistics and search metrics are also provided to authors.
-
Bocacalle: Curso de español intermedio
Gabriela Escobar Rodríguez, María Fernández Pérez, and Christopher C. Oechler
Este libro de texto se escribió para acompañar el tercer curso de lengua en Gettysburg College (SPAN 201), equivalente al nivel intermedio. Se desarrollan las destrezas lingüísticas mediante un enfoque tanto gramatical como cultural con una mirada al español como lengua global y lengua doméstica. Tiene licencia CC BY-NC-SA y por lo tanto pueden usar, compartir y adaptar los materiales a sus propias clases.
-
Social Science Research: Principles, Methods, and Practices, Gettysburg College Edition
Alice M. Brawley Newlin and Anol Bhattacherjee
This book is an introductory, 300-level undergraduate text for Research Methods. It covers introductory topics such as developing theory and models; basics of empirical research (e.g., measurement, sampling); data collection (e.g., surveys, experiments, interpretive research); data analysis; and research ethics. This text was designed to accompany our MGT 301 course at Gettysburg College, and it is a revised version of the second edition of Social Science Research: Principles, Methods, and Practices by Prof. Anol Bhattacherjee.
-
Calculus I Companion
Beth Campbell Hetrick and Kimberly R. Spayd
A course pack for supplementing Calculus 1 with algebra, geometry, trigonometry, and precalculus topics, including reading material, activities, and practice problems assembled from various OER texts.
-
Ventanas Abiertas II
Covadonga Arroyo García, María Fernández Pérez, Christopher C. Oechler, and Barbara J. Sommers
This book is the second in our introductory sequence of the Spanish language. We designed it to accompany our Spanish 102 course at Gettysburg College. In it you will find sections on vocabulary, grammar, and culture, all with helpful links and videos to enhance student learning. Each chapter provides an introductory statement on its specific learning objectives as well as links to the individual lessons. In turn, at the end of each lesson there are communicative activities to work on in the classroom.
-
Financial Statement Analysis Project: "The Big Simulation"
Luna Y. Goldblatt, Joao Q. Chaves, Andrew M. Landman, Salmin B. Mwinjuma, and Braden C. Vitelli
This project uses real-world financial statements (for Best Buy Co. Inc. and Nvidia Corporation) and creates a role-playing game where students can choose to be one of 4 capital market participants: an innovator that designs a brand-new accounting system, a company that prepares its best version of financial statements, an investor that chooses its ideal portfolio stocks, and a forensic accountant that looks for evidence of earnings management. The project helps student learn to conduct financial statement analysis and appreciate the impact of these statements on company financial ratios and capital market performance.
-
The Sociological Theory Reader
Alecea Ritter Standlee
This reader brings together open-access excerpts of the writings of key figures in sociological theory. Excerpts from the works of Marx, Gilman, Addams, Durkheim, Cooley, Weber and DuBoise are included. This reader also includes limited biographical data and open access resources for further research.
-
Ventanas Abiertas I
María Fernández Pérez, Christopher C. Oechler, and Barbara J. Sommers
This book is the first in our introductory sequence of the Spanish language. We designed it to accompany our Spanish 101 course at Gettysburg College. In it you will find sections on vocabulary, grammar, and culture, all with helpful links and videos to enhance student learning. Each chapter provides an introductory statement on its specific learning objectives as well as links to the individual lessons. In turn, at the end of each lesson there are communicative activities to work on in the classroom.
A pdf download is available in The Cupola; you can also access the book directly at https://edtechbooks.org/ventanas
-
Manual de Gramática y Composición
Christopher C. Oechler
An OER remixed textbook for fifth-semester Spanish instruction, focusing on grammar and composition.
-
Navidades de Madrid y noches entretenidas: edición digital de seis novelas
Destiny Acevedo, Juliet Aguilera Gonzalez, Kiley C. Aymar, Meredith E. Brown, Erika N. Calle, Jennifer G. Clogg, Matthew L. Coe, Giacomo Coppola, Lauren N. Coughlin, Evan J. Czulada, Olivia R. Duffy, Timothy T. Fay, Luke O. Ferris, Audrey C. Glas, Isabelle Gueits, Ian Holden, Kayla R. Julio, Hannah E. Lough, Zoe I. Marinacci, Olivia S. Matto, Kaley M. Michael, Julia M. Piness, Erica K. Reiss, Jaida B. Sanchez, Lucas T. Toglia, Christian D. Tolino, Amanda M. Vinges, Anita L. Woofenden, and Christopher C. Oechler
Una edición digital anotada de seis novelas procedentes de la colección de Mariana de Carvajal y Saavedra, Navidades de Madrid y noches entretenidas (1663), preparada por los estudiantes de la clase SPAN 365: Escritoras y su empoderamiento en la literatura del Siglo de Oro (Gettysburg College, primavera de 2021)
English: A digital annotated edition of six novels from Mariana de Carvajal y Saavedra’s collection Navidades de Madrid y noches entretenidas (1663), prepared by students in SPAN 365: Female Authors and Empowerment in Spain’s Golden Age (Gettysburg College, Spring 2021)
-
Introduction to Assembly Language Programming: From Soup to Nuts: ARM Edition
Charles W. Kann
This is an ARM Assembly Language Textbook designed to be used in classes such as Computer Organization, Operating Systems, Compilers, or any other class that needs to provide the students with a overall of Arm Assembly Language. As with all Soup to Nuts books, it is intended to be a resource where each chapter builds on the material from previous chapters, and leads the reader from a rudimentary knowledge of assembly language to a point where they can use it in their studies.
-
It's Funny 'Cause It's True: The Lighthearted Philosophers’ Society’s Introduction to Philosophy through Humor
Jennifer Marra Henrigillis and Steven Gimbel
It's Funny 'Cause It's True is an introductory text in philosophy exploring logic, metaphysics, epistemology, ethics, and aesthetics through questions in the philosophy of humor. Subfields receive a substantive introduction with interactive essays written to be accessible to undergraduates.
-
Memorias
Leonor López de Córdoba Carrillo, María-Milagros Rivera Garretas, and Christopher C. Oechler
Original text written by Leonor López de Córdoba (c.1362-1430)
Spanish modernized by María-Milagros Rivera Garretas
Guided-reading edition prepared by Christopher C. Oechler
Una edición de lectura guiada de la autobiografía de Leonor López de Córdoba dictada en Córdoba entre 1401 y 1404.
A guided-reading edition of Leonor López de Córdoba’s autobiography dictated in Córdoba c.1401-1404.
-
Programming for the Web: From Soup to Nuts: Implementing a complete GIS web page using HTML5, CSS, JavaScript, Node.js, MongoDB, and Open Layers.
Charles W. Kann III
This book is designed to be used as a class text but should be easily accessible to programmers interested in Web Programming. It should even be accessible to an advanced hobbyist.
The original goal behind this text was to help students doing research with me in Web based mapping applications, generally using Open Layers. The idea was to provide persistent storage using REST and simple http request from JavaScript to store the data on a server.
When teaching this class, I became painfully aware of just how little students know about Web Programming. They did not know how to format a REST request as a URL, or the methods that could be used when sending the requests to be processed. Even worse, they did not know that REST used URLs, or that there were different request types in URL.
Most could not tell me what the server was, or how it worked. Even fewer could tell me the different types of servers (e.g. Rails type, Sinatra type, EJB, etc), or what types of services they offered. They did not know how to access the server through a simple HTML api such as Postman.
Many did not know HTML, and a lot of those who knew something about HTML knew little beyond how to format text on a web page. There was very little JavaScript knowledge in the class, and most had not even heard of libraries such as JQuery, Vue, or Bootstrap.
These were all junior and senior computer science students, and the types of positions many of them were interviewing for would require this type of knowledge. Yes, they could learn it on the job. And I know this is not the foundational skills that many CS faculty believe students should learn. But there is a lot of good foundational material to be found in Web Programming, and I have had a lot of good feedback from students who have graduated or done an internship where they state even if they do not use all of this material, it is nice to be able to understand what others in the company are talking about.
Because of the experience with the REST interface, I petitioned the CS department of one of the schools I was an adjunct at to offer a class in Web Programming. This book is the result of having taught that class 3 times at 3 different schools. Its purpose is to provide an overview of how to program for the web. It is still largely client side, but that is something I hope to address in a future version of the textbook
This material in this textbook is ubiquitous in industry, and I really believe that there is utility in being able to communicate with others about the concepts without having 5-10 years’ experience seeing all of the various pieces of a full stack application for the Web. The book is written to try to be as technology agnostic as possible, trying to emphasize concepts over implementations.
This book is also designed to help students understand how to use Web Programming with interfaces and libraries such as Open Layers, which is a mapping interface that can be run on a Web Browser client.
This book can be used as the main text for a class in Web Programming. It is not intended to be used as the only source of material in such a class, but as the guide to the class. Most of the material can be easily supplemented by information on the Web.
-
Writing Through Literature: An Open Reading List
Ian R. Clarke
This site is an online reading list for English 111-A, Writing through Literature, taught at Gettysburg College. Sections taught by instructor Ian Clarke since fall 2016 use this open reading list and do not require purchase of a commercial textbook.
From the site: "All of the reading assignments listed and linked are either in the public domain in the USA or have been made available for educational use by the copyright holder. The works are organized by genre, and they appear roughly in the order the class will study them. This list represents only a part of ENG 111, as a portion of the class is spent in writing instruction.
Rather than keeping all the assignments on our course management system, hidden behind a student login, I was encouraged to make it a public resource. I hope it’s helpful, at least as an example of what a teacher might do. I’ve also created a “blog” tab in the menu. It contains some instructions for accessing digital texts if you need them. As time allows, I’ll also write a few entries there about how this project came to be and how it turns out."
-
Implementing a One Address CPU in Logisim
Charles W. Kann
Most computer users have an incorrect, but useful, cognitive metaphor for computers in which the user says (or types or clicks) something and a mystical, almost intelligent or magical, behavior happens. It is not a stretch to describe computer users as believing computers follow the laws of magic, where some magic incantation is entered, and the computer responds with an expected, but magical, behavior.
This magic computer does not actually exist. In reality computer are machines, and every action a computer performs reduces to a set of mechanical operations. In fact the first complete definition of a working computer was a mechanical machine designed by Charles Babbage in 1834, and would have run on steam power.
Probably the biggest success of Computer Science (CS) in the 20th century was the development of abstractions that hide the mechanical nature of computers. The fact that average people use computers without ever considering that they are mechanistic is a triumph of CS designers.
This purpose of this monograph is to break the abstract understanding of a computer, and to explain a computer’s behavior in completely in mechanistic terms. It will deal specifically with the Central Processing Unit (CPU) of the computer, as this is where the magic happens. All other parts of a computer can be seen as just providing information for the CPU to operate on.
This monograph will deal with a specific type of CPU, a one-address CPU, and will explain this CPU using only standard gates, specifically AND, OR, NOT, NAND and XOR gates, and 4 basic Integrated Circuits (ICs), the Decoder, Multiplexer, Adder, and Flip Flop. All of these gates and components can be described as mechanical transformations of input data to output data, and the overall CPU can then be seen as a mechanical device.
-
Introduction To MIPS Assembly Language Programming
Charles W. Kann
This book was written to introduce students to assembly language programming in MIPS. As with all assembly language programming texts, it covers basic operators and instructions, subprogram calling, loading and storing memory, program control, and the conversion of the assembly language program into machine code.
However this book was not written simply as a book on assembly language programming. The larger purpose of this text is to show how concepts in Higher Level Languages (HLL), such as Java or C/C++, are represented in assembly. By showing how program constructs from these HLL map into assembly, the concepts will be easier to understand and use when the programmer implements programs in languages like Java or C/C++. Concepts such as references and variables, registers, binary and Boolean operations, subprogram execution, memory types (heap, stack, and static), and array processing are covered to clarify the decisions made when implementing HLL. Program control is presented using a mapping from structured programs in pseudo code to help students understand structured programming, and why it exists. Memory access in assembly is presented to high light the difference between references (pointers) and values, and how these impact HLL.
This book has numerous code examples, and many problems at the end of each chapter, and it is appropriate for a class in Assembly Language, or as a extra resource for a class in Computer Organization.
This book is, and will always be, a free download. However if you would like to support me to create new content, or simply say “thank you”’ for providing this content for free, you can use the site https://www.buymeacoffee.com/CharlesKann and buy me a coffe.
-
Digital Circuit Projects: An Overview of Digital Circuits Through Implementing Integrated Circuits - Second Edition
Charles W. Kann
Digital circuits, often called Integrated Circuits or ICs, are the central building blocks of a Central Processing Unit (CPU). To understand how a computer works, it is essential to understand the digital circuits which make up the CPU. This text introduces the most important of these digital circuits; adders, decoders, multiplexers, D flip-flops, and simple state machines.
What makes this textbook unique is that it puts the ability to understand these circuits into the hands of anyone, from hobbyists to students studying Computer Science. This text is designed to teach digital circuits using simple projects the reader can implement. But unlike most lab manuals used in classes in Digital Circuits or Computer Organization classes, this textbook is designed to remove the barrier of a laboratory infrastructure needed in a face-to-face environment at a college or university. This textbook is designed to be used by the reader to create the circuits in their own homes. The textbook is free. The cost of the kits needed to do the labs is reasonable. And the projects are well documented and can be implemented by even novices to electronic projects.
This text allows professors to add laboratory projects in digital circuits to students in online classes in Computer Organization. This enhances these classes with interesting and fun exercises that reinforce the classroom topics.
This text can also be used by a hobbyist who wants to learn more about digital circuits and how computers work. The material is presented at a level that someone with no experience in digital circuits and electronics can successfully complete the projects, and gain an understanding of the circuits which go into making up a computer.
The second edition of this includes a chapter on Boolean Algebra for professors who would like to include a more formal background into digital circuits. It also changed the chapter designed to give a context for the CPU to reference a relatively simple CPU developed by the author in Logisim.
For someone who is interested in digital circuits, this book is worth downloading.
Note: Often it is easier to use a MS Word file rather than a pdf file. If you would like the book as a Word document and not a pdf, please contact the author at ckann(at)gettysburg.edu, and he will mail it to you. The main reason for this is to get some sort of feedback on who is using the text.