Welcome
This 1-credit course will introduce students to the concepts behind Content
Management Systems platforms, and provide hands-on experience with a particular
platform, Drupal.
This course is a co-requisite for SI631, the CMS projects course, meaning that you can take them in the same semester.
Some students may choose to take this course and not take SI631.
Objectives
At the end of this course, students should be able to:
- Install and configure available Drupal modules
- create taxonomies or free tagging systems for a site's content
- configure user roles and access controls
- make small modifications to existing themes
- interact with others, providing and receiving help, through the Drupal forums
- Explain to the uninitiated Drupal's key archictectural features, including:
- modules
- views
- blocks
- themes
- taxonomy-based navigation
- hooks/callback functions
Instructor
Prof. Paul Resnick, presnick@umich.edu
Office Hours
Mondays 4-5PM wherever SI631 meets (412WH the first week; may move to North Campus)
and Thursdays 12-1PM at 3246C SINorth
Please send email in advance so I'll know you're coming. presnick@umich.edu
Pre-requisites
It is assumed that they have some familiarity with programming concepts and with CSS. SI539 would be good preparation. Students who have taken some other semester-long programming course and who know something about CSS (or feel comfortable learning about it from a tutorial, such as the one at W3Schools) will also do fine. Knowledge of the PHP language and SQL are a plus, but not absolutely necessary. Students will not be required to write any code, but you will be required to look at some code in order to understand the idea of callback functions, so that you can be aware of this powerful tool for customizing drupal functionality even if you yourself will not be the one to write code making using of these callback functions.
Meeting Schedule
The course meets Friday afternoons, in the DIAD lab, 1-4PM. The course lasts only for the first four weeks of the semester, from Jan. 5-26.
Teaching Approach
This will be a learner-directed course. I will provide links to existing resources, such as tutorials, documentation, and screencasts that I have created or others have created. We will provide a fresh installation of drupal for each student, so that you can get started with configuration before having to deal with the hassles of installation.
There will be a set of exercises to complete. If you complete these exercises successfully, you will have demonstrated competency in the course objectives.
Peer learning will be emphasized. Most of the session time will be conducted as lab time, with students continuing to work on exercises that they have been working on outside of lab time. I will circulate to try help you get unstuck on any difficulties that may have arisen. Students are encouraged to help each other. You are also encouraged to post questions, either on the course website or, once you get comfortable, on the worldwide drupal forums. If you pose
questions well, it is amazing how much help you can get there.
Textbook
A recommended textbook is available, titled
Drupal: Creating Blogs, Forums, Portals, And Community Websites, by David Mercer. Students who feel comfortable just using the drupal.org online documentation, and want to save $40, can skip the textbook. But I suspect the book will be quite helpful for most students.
Assignments
There is a homework assignment associated with each week's material. It is due the week following week before class.
Grading
The exercises are graded with a simple checkoff for completion of each required activity. Get enough checks and you'll get an A.
