INFM 201-10 (2-Units)
Informatics Technology Foundations
Spring 2021 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: None. Class readings in the syllabus. CLOs PLOs |
Resources Canvas Login and Tutorials iSchool eBookstore |
This 2-unit course starts on January 11 and runs until March 03, 2021.
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
Contents:
- Course Dates
- Description
- Schedule
- Weekly Activities: topic, readings, software
- Assignments
- Optional/Advanced Readings
- References/links
- Course Dates: Classes begin: 2021-01-11
Classes end: 2021-03-07
MLK Birthday January 18, 2021 - 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.
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
Schedule (using a Monday to Sunday week): Fall Tern begins on Wednesday, August 19] Week Dates Weekly Topics 1 Introduction and Basic Concepts, including Operating Systems and a Unix Lab.
[Jan 11. Quiz on this topic due Jan 17.]Computing Concepts & Data 2 Data and Networking Fundamentals; continue with Operating Systems.
[Jan 18. Quiz on this topic due Jan 25.]Operating Systems 3 Programming Concepts with Python.
[Jan 25. Quiz on this topic due Jan 31.]Programming Concepts 4 Web Frameworks, 1.
[Feb 01]Networking & Web Frameworks 1 5 Web Frameworks, 2.
[Feb 08]Web Frameworks 2 6 SDLC and Modularization, 1.
[Feb 15]SLDC 7 SDLC and Modularization, 2.
[Feb 22. Quiz on Weeks 4-7 on Feb 29.]Modularization & Algorithms 8 [Mar 01. Final project due Mar 07.] Wrap Up Before the course starts, please review and download/install the software you’ll need for the course:
- Computer (Mac or Windows)
- Unix terminal window (built-in the Mac; Windows users install Cygwin, the 64-bit version x86_64).
- 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.]
- 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.]
- 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 download & install Cygwin software. 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-OperatingSystems-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, 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: NoneWeek 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: TBAWeek 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: TBAWeek 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: TBAWeek 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
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 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 a final project, due the last week of the class. Note that some students are more advanced than others and may want more of a challenge. If so, I’ll be glad to create an individualized final project. 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.
Syllabus as of Dec 8, 2020. Links, readings, slides, etc., are all subject to being finalized before the start of class.
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.
Welcome and have fun!
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:
- 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.
- Understand the fundamentals of computers, networked systems, and the software tools used to create computer-based solutions.
- Be exposed to the concepts common to programming languages, being sensitized to fundamental computing using a popular programming language.
- 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).
- 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
Required Textbooks:
- Cannon, J. (2016). Python succinctly. Syncfusion, Inc. Available from https://www.syncfusion.com/ebooks/python
- Severance, C. (2015).Introduction to networking: How the Internet works. CreateSpace Independent Publishing Platform. Free from: http://net-intro.com
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.
Download Adobe Acrobat Reader to access PDF files.
More accessibility resources.