INFO 246-13
Information Technology Tools and Applications -- Advanced Topics: Linux, Database, Programming in Python3, Networking, Security
Spring 2018 Syllabus
Dr. Glen R.J. Mules
E-mail: glen.mules@sjsu.edu
Office location: Remote (New Rochelle, NY) -- by phone +1,914.235.7916
Office Hours: Primarily by e-mail (glen.mules@sjsu.edu). But if phone contact needed for additional explanation or in-person advising/help, make an appointment by email, suggesting several possible times.
Regular phone Office Hours: 3 PM ET (12 NN PT) thru 5 PM ET (2 PM PT) -- Wednesdays. I will attempt to be available regularly during those hours -- otherwise, please make an appointment for a phone call or other interaction by sending an email.
Other contact information: Install Zoom (from https://zoom.us), if you would like to interact in Office Hours (or at other times by appointment), for interactive-mode work with the instructor. Regular coursework is on Canvas and does not require your presence at a specific time.
Syllabus Links Textbooks CLOs Competencies Prerequisites |
Resources Canvas Login and Tutorials iSchool eBookstore |
Canvas Information: Courses will be available beginning January 26th, 6 am PT unless you are taking an intensive or a 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.
You will be enrolled in the Canvas site automatically.
Course Description
Topics include Linux, Database concepts & SQL programming, Programming in Python3, Data security, and Networking concepts. The course concepts and practical labs are intended to provide a background for working with data -- and particularly "big data" -- at an advanced level in future courses and in later career activities.
At the end of the course, the participants will be able to;
- Understand concepts of, and work at an introductory level with, the Linux Operating System
- Work with Relational Database Management Systems (RDBMS) as both an administrator and an end-user
- Write SQL statements to access and update relational data
- Design and write simple Python programs to manipulate non-relational data
- Apply best practices to data security and privacy of data in a network-centric environment
Importantly, the participants will be doing lab exercises throughout the course, as the course in intended to be both conceptual and hands-on. The lab exercises are a critical and essential element in understanding the concepts and applying them in practical situations.
The structure of the course is:
- Linux basics -- from scratch -- 4 weeks
- Using a virtual machine (4GB+ memory only)
- Relational Database Management Systems (RDBMS) and SQL -- 4 weeks
- Relational DB concepts, E-R diagrams
- Tables, attributes, schemas, primary/foreign keys, relationships
- Programming Essentials -- using Python v3 -- 4+ weeks
- Algorithms, basics of programming (from scratch)
- Data flow (linear, conditional, loops)
- Functions and procedures
- Concepts of Object Oriented programming
- How to read (only) a language like Java
- Data Security -- 1 week
- How Linux does security
- Compression / encryption
- Kerberos & LDAP
- Networking / Networking Concepts -- 1 to 2 weeks
- Data representation
- IP addresses & DNS
- Networking concepts
- URL notation
Course Requirements
Assignments
Each week's lectures will be balanced with practical labs that apply the topics. The lab exercise assignments need to be carried out concurrent with the lectures ss they apply the theory learned in the lectures and provide additional depth in understanding the concepts.
The weekly lab assignments require work on both a Host Operating System (Windows 10 or Mac OS X) and a Linux Virtual Machine (VM) that will be run on your Host OS. These lab assignments will take a minimum of 4 hours per week (but often more). It is important to keep up with the schedule and not fall behind as new work will often depend on previous work covered in class.
Course Calendar
Throughout the course, lab exercises accompany the theory studied in the lectures. With each week's assigned lab exercise(s), the student needs to submit a Weekly Report detailing the concepts learned and applied, illustrated with excerpts from working through the lab exercises and highlighting problems found and/or issues resolved. This acts as an electronic portfolio of the work done in the labs.
At the end of each of the first three (of the five) course-sections, there will be a quiz/exam in two parts: theoretical knowledge and an additional lab to be done with just high-level instructions.
At the end of the fifth course-section, there will be a comprehensive exam covering all the topics of the course (including the material of the 5th section).
The timing of the assignments is subject to change with fair notice.
Grading:
- Weekly lab assignments: total of 50% of final grade -- completion of lab exercises is evidenced by a written reflection on the weekly lab assignment accompanied by submission of results achieved / screenshots as appropriate (Supports CLOs #1, 2, 3, 4)
- Late or missed work: partially penalized after one day late, more fully if a week or more late
Other Relevant Information:
Students are expected to keep up with the work of the course, including lab exercises done on a timely basis (within a week of their assignment).
The lab exercises are intended to provide the opportunity to apply the principles learned in the lectures and thus are vitally important to the learning process. Since the lab exercises are intended to be practical, mastery is often evidenced when problems are found and overcome -- not everything in the real world works for everyone the first time.
The instructor will provide support, as needed, with the use of the various operating systems (Windows, Mac OS X, Linux) involved in this course, but support for Mac OS X may be somewhat limited as the instructor does not have a computer running that OS -- this, however, should not be a problem.
Please comment when errors in the lab exercises are found, or you wish to suggest additions or improvements or contribute additional labs work or labs steps that you have found helpful (with carefully thought out solutions). This articulation is part of the learning process and will be a great contribution to the dynamics of the class.
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:
- Understand concepts of, and work at an introductory level with, the Linux Operating System and relational database systems both as administrator and end-user.
- Write SQL statements to access and update relational data.
- Design and write simple Python programs to manipulate non-relational data.
- Apply best practices to data security and privacy of data in a network-centric environment.
Core Competencies (Program Learning Outcomes)
INFO 246 supports the following core competencies:
- E Design, query, and evaluate information retrieval systems.
- H Demonstrate proficiency in identifying, using, and evaluating current and emerging information and communication technologies.
Textbooks
Required Textbooks:
- Severance, C. (2016). Python for everyone: Exploring data in Python 3. Create Space Independent Publishing Platform. Available through Amazon: 1530051126
- Shotts Jr., W. E. (2012). The Linux command line: A complete introduction (1st ed.). No Starch Press. Available through Amazon: 1593273894
- Ward, B. (2014). How Linux works: What every superuser should know (2nd ed.). No Starch Press. Available through Amazon: 1593275676
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.