INFM 201-10 (2-Units)
Informatics Technology Foundations
Spring 2022 Syllabus

Dr. Gerry Benoit
E-mail
Office: online
Office Hours:
Virtual office hours. By appointment - just send me an email with times/dates and we'll have a zoom session.


Syllabus Links
Textbooks:
 Readings in the syllabus.
CLOs
PLOs
Resources
Canvas Login and Tutorials
iSchool eBookstore

Canvas Information: This two-unit course runs from January 10 to March 6. The class will be available on Canvas on January 10 at 6 am PT. Grades will be posted at the end of the semester.

You will be enrolled in the Canvas site automatically.

Course Description

Introduction to computing fundamentals with an emphasis on understanding desktop and network computing, web framework architectures, and basic coding. Designed for students of all experience levels to develop a technology foundation applicable to Informatics professionals.

Course Requirements

The most important person in your learning is you … students are responsible for their learning and all of the faculty and SJSU’s resources are here to help you! NB: The course is very fast-paced and not everything will be understood on the first pass. The best learning will be viewing the slides (for the big picture and some details), the readings (for lots of details), and hands-on to activate the most important concepts and skills. 

Schedule

Week Monday Tuesday
1 Concepts & Data  
2 Operating Systems Quiz 1 Due
3 Programming Concepts Quiz 2 Due
4 Networking/Frameworks Quiz 3 Due
5 Frameworks  
6 SLDC Quiz 4 Due
7 Modularization  
8 Wrap-up Final Quiz or
Project Due

Grades are released by the Registrar’s Office, sometime after the end of the full term.

Before the course starts, please review and download/install the software you’ll need for the course.

Important: We use Unix for our operating system command exercises.  You can use your Mac, via the Terminal application, to run real Unix.  For Windows users, you have a couple of options and your choice really depends on your comfort level with your computer and the version of Windows.  There are so many and so many fine-tunings on Windows that I cannot be your tech support.  Two common options are to use GitBash or Cygwin.  There is a Linux subsystem in Win10, too, that you’re free to try but you’re on your own.  
    Check out https://itsfoss.com/run-linux-commands-in-windows/  for overview and download sites as well as https://docs.microsoft.com/en-us/windows/wsl/about from Microsoft.  Most students opt for Cygwin (64-bit version x86_64).


  1. Computer (Mac or Windows)
  2. Unix terminal window (built-in the Mac; Windows users opt for whatever version or other access to Unix they wish)
  3. Text editor [Windows users can use NotePad+; all users should get a copy of BBEdit, or Atom, or Sublime, or another text editor program, like TextMate. Note that Apple’s TextEdit or any word processor program will not work.]
  4. Python, version 3.x (Software programming package). [Macs have version 2.7 already installed; you want to upgrade and use at least version 3.8; Windows users may have to install it on their own. Python releases include a helper software tool called IDLE, that you can use optionally.]
    Optional: If you plan to continue with programming, consider using Jupyter Notebook, a popular IDE and development tool for python.
  5. File Transfer Protocol (FTP/SFTP) software. You may already have one installed; if not, try Cyberduck for a free version.

Weekly Activities:  Please note that each week we have a video of the topic, required readings, and optional readings.  Since there are no prerequisites for the course but people do have some experience, we'll try to build on your experiences.  There will be additional .pdfs added, too, based on your interests and needs.

Week 1: Welcome to our class. Each term the course content and techniques have been adjusted as we learn about using computer technologies in new settings - for instance, SJSU. This week we want to get a feeling for the breadth and types of “technologies” we’ll encounter. The result is a mental framework of tech so that we can associate current activities and integrate future ones in a logical and useful way. We’ll jump right into our topic starting with Operating Systems. For Mac users, you’ll need the terminal window; Windows users will need to decide which approach they prefer for Unix access (use a friend's computer, work computer, or install an option, such as Windows Linux subsystem, or GitBash, or Cygwin). In later weeks we’ll get into more detail about some of the topics we introduce this week so if you don’t understand fully the details of the tech during the first week, that’s okay. Complete the readings & activities at the start of the week!
Readings: 01-Basics.pdf, 02-Data.pdf; please start reading the python texts.  You'll want to get a jump on them right away!
Slides: infm201-Welcome.key
Software: Check that you have and install if necessary all the software listed above. Confirm that they work before the start of the next module.

Week 2: Operating Systems The operating system is the master of operations in a computer - allowing end-users to do work, controlling the hardware and other software in a computer, communicating between users and other computers, and pretty much everything! Let’s familiarize ourselves with the concept, use, and some commands of an important operating system, Unix.
Readings: 03-OS.pdf, 10concepts.pdf
Slides: infm201-Operating systems-1.key
Software: Terminal window (bash shell)

Week 3: Intro to Programming No one can become a programmer overnight! And all programming languages have different syntaxes and methods of using them. Fortunately, the concepts used in any programming language carry over to all other languages. In this module, we read about programming languages in general for the concepts. We practice some of these concepts with elementary skills in Python3. For this module, you’ll need to download & install Python, version 3.x (meaning 3.7 or 3.8.x, or the latest release).
Readings: 05-Python-2.pdf; Complete the python textbooks.
04-Python-1.pdf
Slides: infm201-Programming-1.key
Software: Download and install the proper version of Python 3.x for your computer.
Text editor (Atom, Notepad++, BBEdit, Sparkle, or Spyder, etc.).
Terminal window.
Python via the terminal window. If you want, use Python’s built-in IDLE; some students may want to use other IDEs such as Spyder.  Go for it!

Week 4: Web Frameworks, Part 1 This module introduces us to Internet Protocols (IPv4 and IPv6), domain naming conventions, common physical and logical networking topologies. In addition, we delve into client/server architecture, request/response models; the idea of sockets, and opening/closing communications channels on the net. We close the section with web framework applications, templates, and MVC architecture.
Readings: Networking_Concepts.pdf.
Web Frameworks-Part1.pdf
Slides: TBA
Software: None

Week 5: Web Frameworks, Part 2 Let’s turn to data and file formats. The most important file formats today are text, HTML, JSON, CSV, SVG, XML, and various media formats. Data are typically exported/imported to other formats in unstructured, semi-structured, and structured (SQL) formats for web applications.
Readings: TBA
Slides: WebFrameworks-Part2.pdf
Software: TBA

Week 6: Software Development Lifecycle (SDLC) The software development life cycle (and in a broader way, systems- or solutions-development life cycle; SDLC) is a methodical approach to understanding the resources that are needed for the “logical analysis” of any tech project and the “physical phase” of building a tech project or implementing a new workflow. These are important skills you’ll apply in UX and Project Management.
Readings: TBA
Slides: TBA
Software: TBA

Week 7: Modularization Prefatory to building software algorithms and vital to the SDLC is decomposing tasks into their appropriate logical modules.
Readings: infm201-Modularization1.rtf
Slides: TBA
Software: TBA

Week 8: Wrap Up Following a guide template, you’ll integrate the content of the preceding weeks for a final report as if you’re preparing an analysis for an informatics project at your job.

Assignments: Readings, Quizzes, Participation

Each week you complete the readings. Test your comprehension, both by reading the review questions at the end of the lesson, and by practice.  There are no required texts: all the materials are available as files from the Canvas site.

There are weekly online quizzes. The URL will be posted and you can take the quiz at any time during the week. The quiz for a given week is turned off on the first day of the next week. If you need an extension send me an email.

There is your option of a final online quiz or a final project.  There will be specific guidelines for the final project.  The final online is comprehensive of the entire term. Note that a detailed example of a project will be posted along with grading info.

Participation: participation in the group chat is not required but your contributions definitely will affect your score for this part of the class.  Why contribute?  (a) it’s good to keep in touch with classmates and me so you feel engaged with the topic and the class, (b) it’s a way of sharing issues you’ve surmounted, ask questions, answer questions, share ideas and discoveries, and (c) lots of useful participation can’t help but lift a grade. [Participation overall contributes 10% of the total grade.]

Submissions and quizzes are due by 11:59 PM Pacific of the due date.

Optional/Advanced Readings

Throughout the term, I’ll post some readings (monographs, software demos, teaching materials I’ve written to demo themes from other terms, etc.). If you’re interested in something and want some suggestions, just let me know.

Assignments

This schedule and related dates/readings/assignments are tentative and subject to change with fair notice. Any changes will be announced in due time in class and on the course’s website in the Canvas Learning Management System. The students are obliged to consult the most updated and detailed version of the reading material and syllabus, which will be posted on the course’s website.

Grading

Deliverable Points CLOs
Quiz 1 15 points #1, #4
Quiz 2 15 points #3
Quiz 3 15 points #2
Quiz 4 15 points #2, #4
Participation 10 points #1-4
Final Project 30 points #1-4

Other Relevant Information:

Participation is important.  You're invited to ask questions, share ideas, offer solutions to other students' questions, perhaps draw parallels between our lessons and your tech experience; perhaps ask for more info or tech details.  I hope you'll enjoy and want to participate vigorously in our group discussion sites 'cause asking questions and sharing your experiences really helps personalize an online learning class.

Computing can be frustrating, but jump in and have fun!

Bienvenue
¡Bienvenido/a a nuestra clase!
欢迎来到我们班!
Добро пожаловать на наш курс!
ਸਾਡੇ ਕੋਰਸ ਵਿੱਚ ਤੁਹਾਡਾ ਸਵਾਗਤ ਹੈ!
Maligayang pagdating sa aming kurso!
Chào mừng bạn đến khóa học của chúng tôi!
ہمارے کورس میں خوش آمدید!
Welcome to all.

Apologies for the inconsistent letters in the Vietnamese welcome. Canvas is utf-8 compliant but the official chosen font is not.


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

Graduate Standing or Instructor Consent

Course Learning Outcomes

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

  1. Modularize logical and computing questions to implement a basic SDLC practice, working from algorithm development, to coding, testing, and debugging small programs as might be found in web frameworks.
  2. Understand the fundamentals of computers, networked systems, and the software tools used to create computer-based solutions.
  3. Be exposed to the concepts common to programming languages, being sensitized to fundamental computing using a popular programming language.
  4. Understand IP, domain naming conventions, common physical and logical networking topologies - such as client/server, request/response, how communication channels work; web frameworks (templates and MVC architecture).
  5. Learn about how common web frameworks work, popular tool options, and data/file types for sharing data between frameworks/systems.

SLOs and PLOs

This course supports Informatics SLO 4: Use best practices in Web application design and information architecture to design and develop user-centered knowledge structures for the Web environment and to communicate deliverables to project stakeholders.

SLO 4 supports the following Informatics Program Learning Outcomes (PLOs):

  • PLO 1 Apply technology informatics skills to solve specific industry data and information management problems, with a focus on usability and designing for users.
  • PLO 4 Identify user needs, ideate informatics products and services, prototype new concepts, and evaluate a prototype's usability.
  • PLO 5 Work collaboratively in teams and use project management practices effectively to solve user-centric information and data problems.

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.