635.682.81 - Website Development

Information Systems Engineering
Spring 2024

Description

This course covers the design and implementation of websites. Various web standards, as developed by the World Wide Web Consortium and browser manufacturers are studied. HTML5 specifications are covered, including topics such as text control, images, hypertext links, forms, and embedded objects (e.g., video and audio). Cascading style sheets (CSS3), a client-side language (such as JavaScript), and server-side programming are also covered. Design and development topics include ease of use/navigation, download time, maintaining a consistent look and feel across multiple pages, building mobile-friendly websites, and Web server selection and configuration. Additional topics include web tools, privacy and security, XML, JSON, and AJAX.

Instructor

Profile photo of Julie Wright.

Julie Wright

jwrigh82@jhu.edu

Course Structure

The course materials are divided into modules which can be accessed by clicking Course Modules on the left menu. A module will have several sections including the overview, content, readings, discussions, and assignments. You are encouraged to preview all sections of the module before starting. Most modules run for a period of seven (7) days, modules 2, 3, 6, and 7 will run for fourteen (14) days. You should regularly check the Calendar and Announcements for assignment due dates.

Course Topics

Module

Weeks

Module Title

Assignments

Module 1

Week 1

Introduction to the

Internet and Web

Technologies

•       Module 1 Discussion

•       Module 1 Assignment

Module 2

Weeks 2-3

HTML and XHTML - The Language of the

Web

•       Module 2 Discussion

•       Project Milestone #1

•       Project Milestone #1 Peer Review

•       Module 2 Quiz

Module 3

Weeks 4-5

Style Sheets -

Separating

Presentation from

Content

•       Module 3 Discussion

•       Project Milestone #2

•       Project Milestone #2 Peer Review

•       Module 3 Quiz

Module 4

Week 6

The Interactive Web Page

•       Module 4 Discussion

•       Project Milestone #3

•       Module 4 Quiz

Module 5

Week 7

Web Servers

•       Module 5 Discussion

•       Project Milestone #3 Peer Review

•       Module 5 Quiz

Module 6

Weeks 8-9

Client-Side Scripting

•       Module 6 Discussion

•       Project Milestone #4

•       Project Milestone #4 Peer Review

•       Module 6 Quiz

Module 7

Weeks 10-11

Server-Side Processing

•       Module 7 Discussion

•       Project Milestone #5

•       Project Milestone #5 Peer Review

•       Module 7 Quiz

Module 8

Week 12

Privacy and Security

•       Module 8 Discussion

•       Project Milestone #6

•       Module 8 Quiz

Module 9

Week 13

The Dynamic Web Page

•       Project Milestone #6 Peer Review

•       Module 9 Discussion

•       Project Milestone #7

•       Module 9 Quiz

Module 10

Week 14

What’s Next?

•       Module 10 Discussion 1

•       Module 10 Discussion 2

•       Project Milestone #7 Peer Review

•       Course Project Submission

 

Course Goals

To introduce you to a number of technologies used to build web sites. You will also learn how to apply web standards to the site that you build. We will also spend some time discussing designing sites that are easy to view and navigate.

Course Learning Outcomes (CLOs)

Textbooks

Gauchat, J. D., & Garden, P. (2017). HTML5 for masterminds: how to take advantage of html5 to create responsive websites and revolutionary applications. S.l.: Mink Books.

ISBN-10: 154292331X

ISBN-13: 978-1542923316

Required Software

Software Requirements

• In order for you to easily interact with the UNIX system to manage your website files, you should get a secure terminal emulation program that uses ssh. One good program is PuTTY. This is free software and is available from http://www.putty.org/

• You will also need to be able to transfer files between your system and the UNIX web server. Some type of “file transfer protocol” (FTP) client will be required. I recommend that you try “WinSCP” which can be downloaded from https://winscp.net/eng/index.php. Make sure when you install this program, you configure it to use SFTP (Secure FTP). You will find instructions in module 2 for using PuTTY and WinsCP.

• Students will be required to create and publish a web site as part of this course. It is required that you use the web server on a system to be provided which will be accessible on the Internet. Details on this system will be provided.

• Students must have the ability to create simple text documents (using Notepad, vi, or emacs). Development may be accomplished on any systems (Windows, UNIX, Mac), but your web site will ultimately be hosted on a UNIX system. However, no UNIX experience is required, although the ability to log into the UNIX system and create directories would be useful.

• Chrome, Firefox and Safari approach compliance with W3C standards. For this course, students must be able to develop their web sites to be compliant to standards. Therefore, I would recommend using Chrome, Firefox or Safari. I have been using Chrome for several years without problems, and it is a fast, standard compliant and popular browser. All examples in the course will work with Chrome, Firefox and Safari. Students will use these browsers for development of their web sites, and also will need them to properly view some of the examples in the course content.

Student Coursework Requirements

It is expected that each module will take approximately 7–10 hours per week to complete. Here is an approximate breakdown: reading the assigned sections of the texts (approximately 3–4 hours per week) as well as some outside reading, listening to the audio annotated slide presentations (approximately 2–3 hours per week), and writing assignments (approximately 2–3 hours per week).

This course will consist of the following basic student requirements:

1. Preparation and Participation (Module Discussions) (20% of Final Grade Calculation)

Module content

When a module starts, the first thing to do is to enter the module, and read "Topics and Objectives". You probably will want to take a quick look at the module assignments, which are normally listed near the end of the table of contents. That is actually a good idea, especially since the textbook readings are listed there. Then, carefully dive into and follow the on-line module content. In the content, as you read through the material, links to examples which illustrate the module content will be displayed on the right hand side of the page. Be sure to look at each example, and most importantly, view the source code for the examples by selecting "View>Source" (or something similar) in your browser. The module content for this course pretty much stands alone, other than for the links to external sites which are sprinkled throughout the modules. Be sure to visit and study these external sites, as appropriate. Once you have completed studying the module content, you should be ready to tackle the assignments.

This course contains 10 modules spread out over 14 weeks (not including spring break). Note that several modules are two weeks in length, although most are one week. So, be sure to keep an eye on the calendar and the course outline. The two-week modules are covering more material than the single week modules. Budget your time appropriately keeping in mind the length of the module you are working on. Modules always begin on a Monday.

 

Readings

There are optional textbook readings for each module. These readings should be a reinforcement of the module content, and in some cases you may skim through the textbook readings and focus on the areas you feel you need extra reinforcement on after going through the module content.

Also, "Additional Resources," listing Internet web sites with related optional (but encouraged) reading material are found at the bottom of some of the module lecture pages, as appropriate.

Discussion Questions

Each module will include a discussion assignment. On-line classes use discussion boards as an integral part of the class, where we can all learn from each other.

Your contributions should be related to the discussion question posed in the "Assignments" for that module. On the other hand, a response that shows thought followed by a germane question related to the module content would be an excellent contribution. Whenever possible you should reference material learned in your readings. Please try to be concise when you respond.

You should exercise professionalism when responding to your classmate’s postings. Since this is our goal, respect for other’s points of view is necessary. Please keep in mind that other students’ ideas are a means for you to explore your own.

I also hope that you will use the discussion area to share questions about particular problems you are having, and perhaps even help answer some questions posed by your classmates.

You will also be able to post any new discoveries or experiences you have as you work through the course, as well as any tips you come across that you can share with the class relating to web site development.

Note: Throughout the course lectures examples of the discussed topics will be hyperlinked on the right side of the page. When you activate the hyperlink, a new browser window will pop up showing the example. Be sure to look at the source of every example. You can see the source by selecting "View->Page Source" on the popup window. Make sure you can understand the HTML source, and post any questions you may have in the module discussion. If you find any broken links or other errors in the course, please post these to the Questions discussion area.

 

2. Quizzes (10% of Final Grade Calculation)

During seven of the modules (modules 2 through 8), you will be required to take a short quiz that will cover the module content. For each module, the quiz will be released a few days into the module. The quizzes will be true-false or multiple choice questions, and you will have an hour to complete the quiz. The quizzes are "open-note" (and open web-site), and will cover the material in the content modules. I suggest that you only take the quiz only after you feel that you have a good handle on the module content. The due dates for the Quizzes are posted in the Calendar, and will not be available a few days after due date. If you do not take a quiz, you will get a zero for that quiz, so make sure you take it on time. Your grade for the quiz will be available after the start of the next module.

 

3. Website Development Projects (50% of Final Grade Calculation)

During the course of this semester, you will be building a web site which will demonstrate the use of the technology we will cover in this course. Details on this project will be provided in Module 2, which is also when your first web site assignment will be given via the Canvas "Assignment" item. You will be using the web2 server for this project so make sure to get your account for the web2 server and set up your web site before beginning Module 2. See instructions under Course Information.

For the most part, the content of the web site will be up to you – make it cover a topic or topics you have some interest in – that will make your work on the assignments all the more enjoyable.

Throughout the course you will be given design assignments to complete; each assignment will have a list of requirements related to the module content which must be met.

Periodically, your web site will be graded to ascertain how well you have demonstrated mastery over the course material. These grades will be returned to you via the Canvas "Assignments" item.

 

4. Peer Review of Web Sites (20% of Final Grade Calculation)  

There are Site Submission/Peer Review assignments in every module of the course which contains a Project Milestone. This will give you an opportunity to review, question, and comment on the projects created by your classmates.

You will be providing a Peer Review for at least two classmates’ Project Milestones by the end of each module. The idea behind this assignment is to learn new ways of implementing code and technologies and to help each other improve our sites. When you see a color scheme or font scheme that you like because you think it improves readability – share that. Anything that appeals to you from a usability or functionality perspective - let your classmate know.

If you notice broken links or code that is not working quite right, be sure to point that out. If you see usability, readability, navigation problems – anything – make your classmate aware of the issue. When the work is our own creation, sometimes we become blind to some of “our baby’s shortcomings.” Any ideas that you can share to improve the “baby” is always appreciated.

Grading Policy

Assignments are due according to the dates posted in your Canvas course site. You may check these due dates in the Course Calendar or the Assignments in the corresponding modules. I will post grades one week after assignment due dates.

We generally do not directly grade spelling and grammar. However, egregious violations of the rules of the English language will be noted without comment. Consistently poor performance in either spelling or grammar is taken as an indication of poor written communication ability that may detract from your grade.

A grade of A indicates achievement of consistent excellence and distinction throughout the course—that is, conspicuous excellence in all aspects of assignments and discussion in every week.

A grade of B indicates work that meets all course requirements on a level appropriate for graduate academic work. These criteria apply to both undergraduates and graduate students taking the course.

EP uses a +/- grading system (see “Grading System”, Graduate Programs catalog, p. 10). You should contact your Program Chair for guidance on the breakdown used by your program.

Example:

100–98 = A+

97–94 = A

93–90 = A−

89–87 = B+

86–83 = B

82–80 = B−

79–70 = C

<70 = F

Final grades will be determined by the following weighting:

Item      % of Grade

Discussion and Participation      20%

Quizzes             10%

Website Development Projects  50%

Peer Review of Web Sites         20%

Course Policies

delineated. Whenever you turn in work with your name on it to be evaluated, graded and included in your record it must represent an individual effort by you alone. If you include direct quotes from any source in your discussions, written assignments, the final exam, or any other submission for which you will receive a grade you must provide attribution. Students using published material without reference, or copying the work of another individual will receive a warning at the first incident. Any further incidents will result in the student receiving a zero on the assignment and a possible F in the course. Contact us if you have any questions, no matter how slight, about this policy, or if you have questions about a particular assignment.

Academic Policies

Deadlines for Adding, Dropping and Withdrawing from Courses

Students may add a course up to one week after the start of the term for that particular course. Students may drop courses according to the drop deadlines outlined in the EP academic calendar (https://ep.jhu.edu/student-services/academic-calendar/). Between the 6th week of the class and prior to the final withdrawal deadline, a student may withdraw from a course with a W on their academic record. A record of the course will remain on the academic record with a W appearing in the grade column to indicate that the student registered and withdrew from the course.

Academic Misconduct Policy

All students are required to read, know, and comply with the Johns Hopkins University Krieger School of Arts and Sciences (KSAS) / Whiting School of Engineering (WSE) Procedures for Handling Allegations of Misconduct by Full-Time and Part-Time Graduate Students.

This policy prohibits academic misconduct, including but not limited to the following: cheating or facilitating cheating; plagiarism; reuse of assignments; unauthorized collaboration; alteration of graded assignments; and unfair competition. Course materials (old assignments, texts, or examinations, etc.) should not be shared unless authorized by the course instructor. Any questions related to this policy should be directed to EP’s academic integrity officer at ep-academic-integrity@jhu.edu.

Students with Disabilities - Accommodations and Accessibility

Johns Hopkins University values diversity and inclusion. We are committed to providing welcoming, equitable, and accessible educational experiences for all students. Students with disabilities (including those with psychological conditions, medical conditions and temporary disabilities) can request accommodations for this course by providing an Accommodation Letter issued by Student Disability Services (SDS). Please request accommodations for this course as early as possible to provide time for effective communication and arrangements.

For further information or to start the process of requesting accommodations, please contact Student Disability Services at Engineering for Professionals, ep-disability-svcs@jhu.edu.

Student Conduct Code

The fundamental purpose of the JHU regulation of student conduct is to promote and to protect the health, safety, welfare, property, and rights of all members of the University community as well as to promote the orderly operation of the University and to safeguard its property and facilities. As members of the University community, students accept certain responsibilities which support the educational mission and create an environment in which all students are afforded the same opportunity to succeed academically. 

For a full description of the code please visit the following website: https://studentaffairs.jhu.edu/policies-guidelines/student-code/

Classroom Climate

JHU is committed to creating a classroom environment that values the diversity of experiences and perspectives that all students bring. Everyone has the right to be treated with dignity and respect. Fostering an inclusive climate is important. Research and experience show that students who interact with peers who are different from themselves learn new things and experience tangible educational outcomes. At no time in this learning process should someone be singled out or treated unequally on the basis of any seen or unseen part of their identity. 
 
If you have concerns in this course about harassment, discrimination, or any unequal treatment, or if you seek accommodations or resources, please reach out to the course instructor directly. Reporting will never impact your course grade. You may also share concerns with your program chair, the Assistant Dean for Diversity and Inclusion, or the Office of Institutional Equity. In handling reports, people will protect your privacy as much as possible, but faculty and staff are required to officially report information for some cases (e.g. sexual harassment).

Course Auditing

When a student enrolls in an EP course with “audit” status, the student must reach an understanding with the instructor as to what is required to earn the “audit.” If the student does not meet those expectations, the instructor must notify the EP Registration Team [EP-Registration@exchange.johnshopkins.edu] in order for the student to be retroactively dropped or withdrawn from the course (depending on when the "audit" was requested and in accordance with EP registration deadlines). All lecture content will remain accessible to auditing students, but access to all other course material is left to the discretion of the instructor.