Kyle Harms received his Ph.D. in Computer Science in 2017 at Washington University in St. Louis. Under the supervision of Dr. Caitlin L. Kelleher, he investigated leveraging completion problems to help enable middle school students to learn computer programming independently. He has completed and published research on a variety of topics relating to young learners and learning how to code, both through structured programs and through self-taught methods. His software work is available on the novice programming environment, Looking Glass, and the open source program github.
Web Design and Development
Overview and Courses
In this course, students will start by identifying the various types of elements that exist in a web page and the importance of information architecture. They will immediately begin organizing and structuring web page content and then markup the content using HTML. This process will introduce the document object model, which enables students to build a mental model of how web pages are built and how web browsers render those pages. Important facets of writing valid HTML that is also semantically sound are introduced through a number of code writing activities. From single page coding, we zoom out to explore how websites with multiple pages, hyperlinks, and navigation are organized and developed. Students will take these new skills and apply them to building a simple multi-page website with valid code and a functional navigation.
In this course, students will engage in a design-first approach, focusing on understanding the needs of the user and prioritizing designing over coding. By engaging with personas and gaining empathy for a website’s audience, students identify the needs of their users and apply visual design principles to make sites accessible. With designs in hand, students will learn to write Cascading Style Sheets (CSS) and create rules to implement their design. Along with writing and implementing CSS code, students will explore validating, troubleshooting, and improving their CSS.
In this course, you will employ visual design practices and principles to create attractive, functional websites styled with CSS. Through a thorough investigation of the CSS box model, you are introduced to concepts such as padding, margin, whitespace, and element sizing. These concepts are then given the context of visual design principles to help you make layout and design choices that are user-centric and functional. You will then practice the layout design process to create sketches and wireframes of your designs. With plans in place, you will then write CSS to implement the design to effectively style and layout HTML elements accurately. Finally, you will go a step further to ensure this design is flexible and responsive on the many devices that could be used to visit your site.
In this course, you will explore the potential of interactivity by adding JavaScript to a website. First, you will consider the use of interactivity and identify some common best practices and pitfalls. You will then dive into the JavaScript language, practicing the basics of JS syntax and jQuery. Next, you will discover event-based programming concepts such as event handlers, state, and conditionals. Finally, you will debug both the syntax and logic of your JS code.
In this course, you will build a form to collect data input. This process begins with analyzing how web requests work and identifying the parameters of the hypertext transfer protocol (HTTP). Next, you will design and code a form to collect user data. You’ll use advanced topics such as client-side form validation and error messages to improve the user experience and overall validity of collected data. You will then evaluate your form and implementation to ensure the final design is appropriate and functional.
How It Works
Faculty Author
- Establish a framework for success in front-end web development
- Produce valid HTML that organizes content in a meaningful way for your target audience
- Use CSS to design and implement a web page that is appropriate for your target audience
- Employ visual design principles to create attractive, functional websites styled and laid out with CSS
- Enhance the user experience through interactivity with JavaScript
- Recognize basic JavaScript & jQuery syntax rules and event-based programming techniques
- Design, code, and evaluate a form to collect data inputs from your target audience

Download a Brochure
Not ready to enroll but want to learn more? Download the certificate brochure to review program details.
- Web Design and Development Certificate from Cornell Computing and Information Science
- 60 Professional Development Hours (6 CEUs)
Who Should Enroll
- Aspiring web developers, web designers, and UX designers
- Backend programmers who need front-end skills to become full-stack developers
- Self-taught web programmers
- Entrepreneurs

{Anytime, anywhere.}