INFO 153 - Applied Data Management

Syllabus, Fall 2012

INFO 153 – Applied Data Management


Fall, 2012

1       Course Description

Explores technologies used to gather, organize, store, and retrieve data in various forms. Focuses on using databases and other information management components in software systems. Topics include database servers, data management for Web applications, and data structures. Includes data management software development using pair or small team programming activities.

Repeat Status: Not repeatable for credit

Prerequisites: INFO 152 [Min Grade: D]

Credits:  3

2       Instructor Information

Instructor Name:  Sean P. Goggins


Office:  403b, Rush Hall

Phone/Text:  215-948-2729

Office Hours:  Monday 4pm - 5:45pm, Wednesday 4pm - 5:45pm (Note Exceptions in course schedule)

2.1        Instructor Philosophy on Learning

Individual accomplishments are measured in this course with a grade.  Learning programming, on the other hand, occurs most effectively when you discuss the problems to be solved with other students routinely.  This takes three forms when learning programming – two group forms and one individual form.

First, designing what you will program before setting out to write a program is more efficient.  People who just start coding take longer to pick up concepts in general.  Second, programming skills are developed individually through trial, error and failure. Learning how to google solutions others have tried – finding the right search terms – is how professional programmers figure things out.  Most importantly, a good rule of thumb is that when you are “stuck” for more than 15 minutes, you should seek assistance.  Frustration creates an emotional and cognitive load that is overwhelming and limits productivity. Nihil Nimus – Work in small units of time as you have them.  Setting out to do an assignment the day before it is due does not lead to mastery.

Leading to the third form, asking class members for help.  To facilitate this help, I suggest the use of social media and have created a Facebook Group I encourage you to join for this purpose.  You can access this group at or via email at .

Later in the syllabus I discuss cheating.  Historically, computer science education treats “collaboration” as cheating.  Basically, if you copy somebody else’s code, you are cheating. If you ask for help – treat learning as a social process – you are learning.

2.2        Instructor Philosophy on Grading and Assignments

My responsibility is to create the environment and assignments for learning, and to assess your learning.  My teaching approach is focused on group work and group discussion, though some of your assignments will be individual.   It is not a secret that the value of higher education is being questioned in public discourse today.  My answer to these questions is focus learning on real problems using real world tools.

Your goal is mastery of the material in this course.  To facilitate mastery, some of your assignments will allow you to define the domain and data sets used.  I will provide several to choose from or you may use your own.  This increases the relevance of material to you.  Relevance leads to developed interest which leads to learning.

If you fail or are not satisfied with your performance on a given assignment, I will give you the opportunity to redo the assignment for up to 90% of the maximum credit.  This must be completed two weeks after I return the original assignment.

Relevance is also enhanced by using new and emerging technologies.  To that end, you will each receive an Amazon Web Services account and a web hosting account.  You may advertise your accomplishments to the world.  Furthermore, we will use Github for turning in assignments.  You will create a personal repository and invite me to it.  After the assignment is graded, your code examples will be shared with the class.  This gives you the chance to build your own Github repository – an increasingly useful job search tool – and learn from the examples of how your course mates solved problems.

2.3        About the Instructor

My websites are and  I spent about a decade as a developer and data scientist in industry, working for small and large organizations.  Now I am a tenure track faculty member in his fourth year at the iSchool.  You are in one of the best colleges in the country for getting a real world, relevant information science degree.  You have chosen wisely.

3       Course Materials

Course Website:

Required Text:  None

Optional Course Materials:

Software Needed:  IDE:  PhPStorm by JetBrains, PhP, MySQL Workbench

Accounts Needed:  Github, Bluehost and Amazon Web Services (Instructor will provide instructions in first lab session)

PHP Storm Link:

PHP Storm License Info:

User Name: Drexel University

License: (copy all lines, including “License Begin” and “License End” lines)

===== LICENSE BEGIN =====





===== LICENSE END =====

Database:  MySQL (we will use an amazon CLOUD db or a Drexel Server at different points in the quarter)

Github Link:

4       Course Rationale

This course provides an introduction to the use of databases and other information management technologies in software systems.  This includes examination of one or more database management systems.  The course includes hands-on examination and program construction exercises to help students understand how to use database systems in the context of a program.  The data focus is combined with material on data structures, searching and sorting, and concepts of program efficiency.  Programming will be done exclusively by students working in pairs or small teams.

5       Course Outcomes

1         Be able to design and implement a program that is composed of several modules (DM)

2         Explain and code basic algorithms for searching and sorting (DM)

3         Understand the concept of computational complexity and the basic approaches to analysis of algorithms (DM)

4         Select and apply appropriate data structures including arrays, lists, stacks, queues, and trees. (DM)

5         Design, implement, test, and debug a small application that interacts with a DBMS including creating and deleting tables, and reading and writing data. (DM)

6       Contribution to Program Educational Outcomes

This course contributes to the program educational outcomes as follows: (c) Students design, implement, and examine programs (d), (f) All programming is done in pairs or small teams helping students practice working together and communicating about problems (i) Teaches students to use basic features of leading edge Web technologies (j) Use and application of database systems.

7       Course Content

Technology changes quickly, and my philosophy is to continuously develop course materials and context for learning applied data management so that the tools you do and assignments you complete are relevant in the world.  This quarter, we will be using Amazon Web Services, a web hosting service, a modern PhP development environment and data from Twitter (captured using a PhP program and MySql.  Starting in week 2, you will get assignment details and instructions in advance.

Topics are constant; how we address learning those topics will evolve through the quarter.

7.1        Week 1 – Introduction and Overview (September 24 & 26)

7.1.1         Lifecycle of Data Management

  1. Setup XAMP
  2. PhP Refresher

7.2        Week 2 – Data Processing in PhP (October 1 & 3)


  1. Read Data from .csv Files
  2. Parse XML Data using an XML Parser

7.3        Week 3 – MySQL (October 8 & 10)

Accessing MySQL

  1. Convert .csv to PHP using PDO
  2. Display results using Visualization Tools
  3. Chart:  Tweets according to location

7.4        Week 4 – Model-View-Controller (October 15 & 17)  [Mid Term on Wednesday, October 17th]

Learning the MVC Pattern

  1. What is the MVC Pattern
  2. Parse XL in PhP with a customized class
  3. Display information on a PhP Page
  4. Create, configure and deploy an app on the AMAZON cloud
  5. Display Data on a Website deployed on Bluehost

7.5        Week 5 – Amazon Cloud Services (October 22 & 24)

7.6        Week 7 – Final Project Planning and Design (October [29] & 31)

During this week we will not meet on Monday.  You are expected to meet with your final project team on Monday and develop a one page (500 word max) description of your final project proposal, due Friday.  Lab sessions will be held on Wednesday and let by our lab assistant.  Guidelines for

7.7        Week 6 – Visualizing Geospatial Data (November 5 & 7)

  1. Apply geospatial data in PhP in Amazon
  2. Deploy map visualization on your Bluehost Website
  3. Sort Algorithms
  4. Search Algorithms
  5. Computational Complexity of Algorithms

7.8        Week 8 – Search and Sort Algorithms (November 12, 14)

7.9        Week 9 – Final Project II – Design and Implementation  (November 19)

7.10     Week 10 – Final Project III – Aggregation and Testing (November 26 & 28)

7.11     Week 11 – Final Project IV – Project Presentation  (December 3 & 5)


8       Assessment

Deliverables Weight Topics
Assignment 1 10% PHP
Assignment 2 10% MySQL
Assignment 3 10% PHP & MySQL
Assignment 4 10% Cloud Services & Visualization
Mid – Term 20% Concepts and Principles
Final Project 30% Topic of your choice
Participation 10% Quality of Participation and Attendance


As I said, learning is social, and participation in class is essential for learning.  If I call on you in class, I expect that you have done the reading and exercises prior to class.  The first time I call on you and you are not prepared, I will make a note of it.  The second time, your participation grade will be reduced to 0 for that week.  The third time, I will ask you to leave the course for that session and your participation grade will be reduced to 0 for that week.

8.1        Group Work and Individual Work

Assignments one and two can be done in pairs or as individuals if so preferred.

The final project is to be done in a group of 2 – 3 students.

All quizzes (there will be 2) and the mid term will be done individually.

8.2        Grading Scale

Grade A+ A A- B+ B B- C+ C C- D+ D F
% Range 96 - 100 90 - 95.95 88 - 89.95 85 - 87.95 79 - 84.95 76 - 78.95 73 - 75.95 63 - 72.95 60 - 62.95 57 - 59.95 44 - 56.95 0 - 43.95


8.3        Grading Participation

Grade A+ A A- B+ B B- C+ C C- D+ D F
% Range 96 - 100 90 - 95.95 88 - 89.95 85 - 87.95 79 - 84.95 76 - 78.95 73 - 75.95 63 - 72.95 60 - 62.95 57 - 59.95 44 - 56.95 0 - 43.95

8.4        Late Submission

8.4.1         Guidelines

  1. All submissions should be made to Github.
  2. Any request for an extension of deadline must be made via email to me at least 24 hours before the scheduled deadline.
  3. If you are in situations beyond your control, email me as soon as possible with adequate documentation/evidence.

8.4.2         Policies

Less than 24 hours late (including 24 hours): -20%

More than 24 hours but less than 48 hours late: -50%

More than 48 hours late: -100%

9       Academic Honesty

Individual assignments require you to submit your own independent work. If your submission includes works by others, acknowledge the sources and the extent of the use explicitly. Any omission of such acknowledgements of others’ work may be seen as a violation of academic honesty.

Cheating, academic misconduct, plagiarism, and fabrication, once established, will be given no credit to the corresponding course item.

10   Accommodation of Different Learning Styles and Needs

If a student has any special need that must be accommodated, please let the instructor know the first week of class.

The student must be registered as a special needs student with the university and receive an Accommodation Verification Form prior to receiving the accommodation.

Contact with the Office of Disability Services (215-895-2506/7) is strictly confidential.

Please make contact as early in the term as possible in order to receive timely accommodations.

11   For Each Assignment, the Following is Required

I certify that:

·         This paper/project/exam is entirely my own work.


·         I have not quoted the words of any other person from a printed source or a website without indicating what has been quoted and providing an appropriate citation.


·         I have not submitted this paper / project to satisfy the requirements of any other course.


Date       ____________________


12   Classroom/Lecture Recording

Lectures and class discussions may be recorded and/or streamed and rebroadcast for educational purposes only.