Course Description:
The ability to program in any language is a great asset to any person working in IT, regardless of his/her chosen area of expertise. Likewise, the Internet is a pervasive element in all IT solutions. Consequently, an understanding of the underlying protocols of the Internet and how web applications work is advantageous to any IT professional.
This hands-on programming course uses open source software to provide students with an understanding of programming fundamentals. This class is designed to develop individual proficiency and reward individual achievement as students develop the skills necessary to create solutions that interact with web APIs.
In order to develop a web application, the student must develop competency in a number of different technologies, and ultimately use them in concert to create a whole solution. This class is structured so that individual technologies are introduced, and then combined to create increasingly more sophisticated results.
Generative AI tools (such as ChatGPT) do not promote the deliberate, step-by-step thinking that this course aims to nurture. Consequently, this course is structured to create an AI-free learning environment. While this environment may not reflect the modern workplace, it is a necessary contrivance to make learning possible.
Course Objectives:
- Learn and apply the basic principles common to all programming languages (e.g., variables, algebraic expressions, logical expressions, if/else statements, loops, functions, arrays, and objects) using JavaScript.
- Develop the logical thinking skills to be able to break down tasks into component steps and express those steps in code.
- Be able to use debugging tools to identify problems with the code.
- Learn the basic structure and syntax of HTML5, CSS, and JavaScript. Be able to use and combine these languages to present a complete solution.
- Get an understanding of client/server interactions.
- Be able to use Web APIs and related protocols to send and retrieve data.
- Observe and learn the basic syntax of the HTTP protocol necessary to send and retrieve data from an API.
- Explain the concept of a Single Page Architecture. Use simple jQuery commands to implement a simple Single Page Architecture.
- Be able to handle and validate user input via HTML forms.
- Learn how to use tools (i.e. libraries/frameworks) that can speed and simplify application development, e.g. Bootstrap, and jQuery.
- Demonstrate the ability to get the data from multiple third-party APIs and use it in the Web Application.
Prerequisites:
MIS2101/2901. MIS2502 in the same or prior semester. Prior programming and/or web development experience is advantageous, but not required.
How This Course Will Be Taught:
This is a traditional, in person class. We meet synchronously on Tuesday and Thursday each week.
At the discretion of the instructor, some or all class meetings may be declared as “Workstation Only Days”. In these meetings, students should only use the computer workstations in the classroom. Students should not be using laptops, phones, or other devices to do class work on these days.
MIS Department Instructional Practices:
MIS faculty intentionally nurture student behaviors that promote critical thinking, curiosity, and perseverance. In this class, this means:
- Ask good questions in class
- Independently experiment to discover answers
- Break large tasks down into smaller tasks
- Don’t be satisfied with “magical” solutions
- When your code doesn’t work, step back, think, and try again.
- Turn in your work on time.
- Code a little each day. Not all at once before a due date.