
Gettysburg College Open Educational Resources Fall 9-12-2018 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 None Follow this and additional works at: https://cupola.gettysburg.edu/oer Part of the Databases and Information Systems Commons, and the Other Computer Sciences Commons Share feedback about the accessibility of this item. Kann, Charles W. III, "Programming for the Web: From Soup to Nuts: Implementing a complete GIS web page using HTML5, CSS, JavaScript, Node.js, MongoDB, and Open Layers." (2018). Gettysburg College Open Educational Resources. 5. https://cupola.gettysburg.edu/oer/5 This open access book is brought to you by The uC pola: Scholarship at Gettysburg College. It has been accepted for inclusion by an authorized administrator of The uC pola. For more information, please contact [email protected]. Programming for the Web: From Soup to Nuts: Implementing a complete GIS web page using HTML5, CSS, JavaScript, Node.js, MongoDB, and Open Layers. Description 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 tudes nts 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 aJ vaScript 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 This book is available at The uC pola: Scholarship at Gettysburg College: https://cupola.gettysburg.edu/oer/5 supplemented by information on the Web. Disciplines Databases and Information Systems | Other Computer Sciences Creative Commons License This work is licensed under a Creative Commons Attribution 4.0 License. This book is available at The uC pola: Scholarship at Gettysburg College: https://cupola.gettysburg.edu/oer/5 Programming for the Web: From Soup To Nuts Implementing a complete GIS web page using HTML5, CSS, JavaScript, Node.js, Mongo, and Open Layers. Charles W. Kann PROGRAMMING FOR THE WEB: 2 © Charles W. Kann III 277 E. Lincoln Ave. Gettysburg, Pa All rights reserved. This book is licensed under the Creative Commons Attribution 4.0 License Last Update: Tuesday, Sept. 11, 2018 This book is available for free download from: http://chuckkann.com/books/WebDesignFromSoupToNuts.doc. Contact me at: [email protected] Phone #: 7170-778-4176 3 PROGRAMMING FOR THE WEB: Other books by Charles Kann Kann, Charles W., "Digital Circuit Projects: An Overview of Digital Circuits Through Implementing Integrated Circuits - Second Edition" (2014). Gettysburg College Open Educational Resources. Book 1. http://cupola.gettysburg.edu/oer/1 Kann, Charles W., "Introduction to MIPS Assembly Language Programming" (2015). Gettysburg College Open Educational Resources. Book 2. http://cupola.gettysburg.edu/oer/2 Kann, Charles W., "Implementing a One Address CPU in Logisim" (2016). Gettysburg College Open Educational Resources. 3. http://cupola.gettysburg.edu/oer/3 PROGRAMMING FOR THE WEB: 4 Forward 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. 5 PROGRAMMING FOR THE WEB: A suggested 14 week class at an advanced undergraduate level would be as follows: Week Chapter Topics 1 2 Basic HTML, and form definition using HTML 2-3 3 Processing a form in html: 1.
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages172 Page
-
File Size-