Skip to main content
Engineering LibreTexts

1.1: About this Book

  • Page ID
    27454
  • \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \) \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)\(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\) \(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\)\(\newcommand{\AA}{\unicode[.8,0]{x212B}}\)

    This book is intended for readers who have an understanding of some computer programming language, such as Java, C#, C++, or Python, and want to learn how to create map applications for the World Wide Web (or just Web). It was written for Junior Computer Science (CS) college students1. These students will have had at least 1-2 courses in one programming language, such as the ones mentioned above, as well a class in Data Structures. Most of these students will not be familiar with any technologies for the programming for the Web.

    Some non-programmers will argue that all is needed for web pages is a Content Management Systems (CMS) such as Word Press, Joomla, Scala, or any number of tools targeted at non- programmers. While it is possible to create perfectly reasonable web sites with a CMS, these tools are designed to manage content and are thus very limited. The core technologies for Web browsers are Hyper Text Markup Language (HTML), Cascading Style Sheets (CSS), and JavaScript2 , and to access any real power for a web application requires that a programmer be familiar with these technologies. Even end users using a CMS often need to access HTML, CSS, or JavaScript for some specific functionality.

    The need to know the core technologies of the web, HTML, CSS, and JavaScript, is also necessary for programmers who are using other languages for Web development such as C#, Python, or Java. Even though these languages provide templating engines, the output from these engines is HTML, CSS, and JavaScript. To understand the input and output of templating engines, programmers should know about the target Web core technologies that these templating tools target.

    The style of the book will not be like a traditional textbook. It will have problems at the end of each chapter, but those are so the reader can test their knowledge of the subjects presented and learn the concepts at a deeper level than I can present in the written portion. The tone of the book is also more conversational, and the format more like a tutorial than a textbook. This is in keeping with my style of interacting with students.

    This text will follow material to develop one application, a simple Map Viewer in Open Layers, from soup to nuts. The phrase “soup to nuts” is an American English idiom which means “the whole thing”. It comes from the idea that a traditional American meal starts with a soup course and ends with sweets and nuts. This book was written with this paradigm in mind. It intends to present just enough material that a student can learn the languages, tools, and concepts needed to implement a mapping application. The mapping application presented is the starting point for students doing research with me on mapping projects.


    1 The specific purpose for writing this book was to prepare students who wanted to do mapping projects in JavaScript. While writing this book, it has been used in various stages of development to teach classes on Enterprise Computing.
    2 The general consensus of the Web development community is to move away from JavaScript to Web Assembly. At the time this was written (July 2018), the specification for Web Assembly is still being developed (https://webassembly.org/roadmap/). Even once it is completed, there will be support for JavaScript in Web Assembly. So, JavaScript will remain a core technology for the Web for a long time.


    This page titled 1.1: About this Book is shared under a CC BY license and was authored, remixed, and/or curated by Charles W. Kann III.

    • Was this article helpful?