CS 343 Application Development (Fall 2022)

Prof. Michael S. Kirkpatrick


If you need to speak to me about course material, please come to office hours. For other concerns, my availability can be found on the calendar page. Please check there before emailing to ask when I can meet.

Course policies (including grading information) is posted in the CS 343 Syllabus.


Course Description

Overview of application software development fundamentals and their use in building stand-alone applications, visualizing and interacting with complex data representations, and controlling the Internet of Things. This course provides an introduction to the technologies used to create modern user interfaces (e.g., web technologies), establishing a common foundation for later application-focused courses.


Course Objectives

Students who complete this course can expect to meet the following objectives:

  • Summarize the key steps for publishing, retrieving, and displaying web documents.
  • Justify and apply accessibility standards for web documents.
  • Apply accessibility standards to web documents.
  • Generate and manipulate DOM objects.
  • Describe the benefits of functional programming in data manipulation.
  • Evaluate the advantages and disadvantages of client-side storage technologies.
  • Dynamically generate and manipulate images based on structured data.
  • Create dynamic asynchronous event handler software that avoids common timing-related errors.
  • Describe how authentication, authorization, and access control can mitigate common web application risks and threats.
  • Apply common web-based techniques to mitigate common risks and threats arising from untrusted input and third-party software.
  • Identify and consult credible software documentation and tutorials for learning new technologies.


James Madison University logo


© 2011-2022 Michael S. Kirkpatrick.
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.