INFO 246-16 (1-Unit)
Information Technology Tools and Applications – Advanced Topic: Application Programming Interfaces (APIs)
Spring 2022 Syllabus

Jason A. Clark
E-mail
Other contact information: jasonclark.info
Office Location: Online
Office Hours: By Appointment


Syllabus Links
Textbooks
CLOs
Competencies
Prerequisites
Resources
Canvas Login and Tutorials
iSchool eBookstore
 

Canvas Information: Courses will be available beginning January 26th at 6 am PT unless you are taking an intensive or one-unit or two-unit class that starts on a different day. In that case, the class will open on the first day that the class meets.

This course runs from January 26th - February 25th. You will have access to the course on January 26th.

You will be enrolled in the Canvas site automatically.

Course Description

Application Programming Interfaces (APIs), the machine user interfaces and rules underpinning our software and technology, continue to gain importance as a technical competency in our digital age. In this course, we will introduce the concepts and first principles of APIs with an eye toward implementation. Specific course goals include: identifying the features, types, and protocols of APIs; writing documentation for an API; analyzing common structured data formats that underlie APIs; creating statements for consuming data from an API and completing a prototype using an API to create or enhance a user interface.

Course Requirements

ASSIGNMENTS

  • Assignment 1 - First Principles of an API - Types and Protocols
  • Assignment 2 - Documenting an API
  • Assignment 3 - Data structures and API design
  • Assignment 4 - Constructing statements for API results
  • Course Project - User Interface Prototype or Sketch using an API

The course project will include the option of sketching out an app idea using an API or creating an HTML prototype to demonstrate an app using an API in action. Options here will be based on student's interest and aptitude.

COURSE CALENDAR

Week 1 (January 26) - Introduction to Application Programming Interfaces (APIs)

  • Lecture: Online - Wednesday, January 26
  • Readings: TBD - Will average around 3 articles per week
  • Course Discussion: Canvas Forum
  • Assignment: Weekly Readings Discussion Prompt, First Principles of an API - Types and Protocols
  • Course Project: Introduction and Guidelines

Week 2 (February 2) - Learning how to use and document APIs

  • Lecture: Online - Wednesday, February 2
  • Readings: TBD
  • Course Discussion:
  • Assignment: Project BluePrint, Weekly Readings Discussion Prompt, Documenting an API

Week 3 (February 9) - Best practices in structuring API data

  • Lecture: Online - Wednesday, February 9
  • Readings: TBD
  • Course Discussion: Canvas Forum
  • Assignment: Weekly Readings Discussion Prompt, Data structures, and API design
  • Course Project: Phase 1 App Sketch or HTML prototype DUE

Week 4 (February 16) - Asking for Data and Understanding API payloads

  • Lecture: Online - Wednesday, February 16
  • Readings: TBD
  • Course Discussion: Canvas Forum
  • Assignment: Weekly Readings Discussion Prompt, Constructing statements for API results

Week 5 (February 23) - APIs and User Interfaces

  • Lecture: Online - Wednesday, February 23
  • Readings: TBD
  • Course Discussion: Canvas Forum
  • Assignment: Weekly Readings Discussion Prompt
  • Course Project: App Sketch or HTML Prototype DUE on March 2

GRADING

  • Percentage weight of grade given to each assignment
  • Extra credit options, if available
  • Grading policy on late or missed work
Assignments Percentage Due Dates Course Learning Outcomes
Project Blueprint 10% Week 2 CLO #2, #5
App Sketch 20% Week 3 CLO #3, #4, #5
Finished App Sketch or HTML Prototype 20% Final Day of Course CLO #3, #4, #5
Weekly Assignments and Readings 50% Throughout Course CLO #1, #2#3

NOTE: Assignments are due every Monday at 8 pm Pacific Time.

COURSE POLICIES

Academic Honesty: I follow the academic standards for cheating and plagiarism set forth by San Jose State University.

Readings and software: We don’t have a textbook for this course; readings are listed on the syllabus. Check Canvas for required software installations.

Contacting me: For any difficulty with the course that is not private or confidential, please ask in class or use the Canvas help forum. I can be available on weekends, but I will try to be prompt in answering course and forum questions and email within 2 business days.

Course Workload Expectations

Success in this course is based on the expectation that students will spend, for each unit of credit, a minimum of forty-five hours over the length of the course (normally 3 hours per unit per week with 1 of the hours used for lecture) for instruction or preparation/studying or course related activities including but not limited to internships, labs, clinical practica. Other course structures will have equivalent workload expectations as described in the syllabus.

Instructional time may include but is not limited to:
Working on posted modules or lessons prepared by the instructor; discussion forum interactions with the instructor and/or other students; making presentations and getting feedback from the instructor; attending office hours or other synchronous sessions with the instructor.

Student time outside of class:
In any seven-day period, a student is expected to be academically engaged through submitting an academic assignment; taking an exam or an interactive tutorial, or computer-assisted instruction; building websites, blogs, databases, social media presentations; attending a study group;contributing to an academic online discussion; writing papers; reading articles; conducting research; engaging in small group work.

Course Prerequisites

INFO 246 has no prequisite requirements.

Course Learning Outcomes

Upon successful completion of the course, students will be able to:

  1. Identify the features, types, and protocols of APIs.
  2. Write documentation for an API.
  3. Analyze common structured data formats that underly APIs.
  4. Create statements for consuming data from an API.
  5. Complete a prototype using an API to create or enhance a user interface.

Core Competencies (Program Learning Outcomes)

INFO 246 supports the following core competencies:

  1. E Design, query, and evaluate information retrieval systems.
  2. G Demonstrate understanding of basic principles and standards involved in organizing information such as classification and controlled vocabulary systems, cataloging systems, metadata schemas or other systems for making information accessible to a particular clientele.

Textbooks

No Textbooks For This Course.

Grading Scale

The standard SJSU School of Information Grading Scale is utilized for all iSchool courses:

97 to 100 A
94 to 96 A minus
91 to 93 B plus
88 to 90 B
85 to 87 B minus
82 to 84 C plus
79 to 81 C
76 to 78 C minus
73 to 75 D plus
70 to 72 D
67 to 69 D minus
Below 67 F

 

In order to provide consistent guidelines for assessment for graduate level work in the School, these terms are applied to letter grades:

  • C represents Adequate work; a grade of "C" counts for credit for the course;
  • B represents Good work; a grade of "B" clearly meets the standards for graduate level work or undergraduate (for BS-ISDA);
    For core courses in the MLIS program (not MARA, Informatics, BS-ISDA) — INFO 200, INFO 202, INFO 204 — the iSchool requires that students earn a B in the course. If the grade is less than B (B- or lower) after the first attempt you will be placed on administrative probation. You must repeat the class if you wish to stay in the program. If - on the second attempt - you do not pass the class with a grade of B or better (not B- but B) you will be disqualified.
  • A represents Exceptional work; a grade of "A" will be assigned for outstanding work only.

Graduate Students are advised that it is their responsibility to maintain a 3.0 Grade Point Average (GPA). Undergraduates must maintain a 2.0 Grade Point Average (GPA).

University Policies

Per University Policy S16-9, university-wide policy information relevant to all courses, such as academic integrity, accommodations, etc. will be available on Office of Graduate and Undergraduate Programs' Syllabus Information web page at: https://www.sjsu.edu/curriculum/courses/syllabus-info.php. Make sure to visit this page, review and be familiar with these university policies and resources.

In order to request an accommodation in a class please contact the Accessible Education Center and register via the MyAEC portal.

icon showing link leads to the PDF file viewer known as Acrobat Reader Download Adobe Acrobat Reader to access PDF files.

More accessibility resources.