INFO 246-13
Information Technology Tools and Applications -- Advanced
Topics: Linux, Database, Programming in Python3, Networking, Security
Fall 2016 Syllabus

Dr. Glen R.J. Mules
Other contact information:
Phone / Webex or Collaborate (by appointment) / Email support
Office location: Remote (New Rochelle, NY) -- by phone +1,914.235.7916
Office Hours: Primarily by e-mail. But if phone contact needed for additional explanation/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

Syllabus Links
Canvas Login and Tutorials
iSchool eBookstore

Canvas Information: Courses will be available beginning August 24th, 6 am PDT 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 into 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:  

  1. Linux basics -- from scratch -- 4 weeks
    • Using a virtual machine (4GB+ memory only)
  2. Relational Database Management Systems (RDBMS) and SQL -- 4 weeks
    • Relational DB concepts, E-R diagrams
    • Tables, attributes, schemas, primary/foreign keys, relationships
  3. 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
  4. Data Security -- 1.5 weeks
    • How Linux does security
    • Compression / encryption
    • Kerberos & LDAP
  5. Networking / Networking Concepts -- 1.5 weeks
    • Data representation
    • IP addresses & DNS
    • Networking concepts
    • URL notation

Course Requirements

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.

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 report detailing the concepts learned and applied, illustrated with excerpts from the results of 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 four (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.


  • Weekly lab assignments: total of 50% of final grade -- completion of lab exercises is evidenced by a written reflection on the weekly lab assignement accompanied by submission of results achieved / screen shots as appropriate (Supports CLOs #1, 2, 3, 4)
  • Quizzes (including lab): four, each 5% = 20% (Supports CLOs #1, 2, 3)
  • Final comprehensive Exam: 20% (Supports CLOs #1, 2, 3, 4)
  • Writing assignment (given in week 7, due in week 14): 10% (Supports CLOs #1, 2, 4)
  • Late or missed work: partially penalized after one day late, fully penalized if a week 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.

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:

  1. Understand concepts of, and work at an introductory level with, the Linux Operating System and relational database systems both as administrator and end-user.
  2. Write SQL statements to access and update relational data.
  3. Design and write simple Python programs to manipulate non-relational data.
  4. 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:

  1. E Design, query, and evaluate information retrieval systems.
  2. H Demonstrate proficiency in identifying, using, and evaluating current and emerging information and communication technologies.


Required Textbooks:

  • Severance, C. (2016). Python for everyone: Exploring data in Python 3. Create Space Independent Publishing Platform. Available through Amazon: 1530051126arrow gif indicating link outside sjsu domain
  • Shotts Jr., W. E. (2012). The Linux command line: A complete introduction (1st ed.). No Starch Press. Available through Amazon: 1593273894arrow gif indicating link outside sjsu domain

Recommended Textbooks:

  • Ward, B. (2014). How Linux works: What every superuser should know (2nd ed.). No Starch Press. Available through Amazon: 1593275676arrow gif indicating link outside sjsu domain

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: 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.