A Modular, Web-based
Introductory Programming A Framework for Presenting Focused Instructional
Modules within an Integrated Course
|
Larry
Press Professor,
Information Systems California State University,
Dominguez Hills lpress@csudh.edu |
We developed a simple, modular framework
for online courses, and tested it in a 91n 88-module,
one-semester introductory programming course using VB.NET. The course coverage is Course coverage was typical of an introduction to of introductory programming, courseand cs, with concepts
and terminology are
stressed are stressed along with the syntax of
the particular language.
We taught the course for two
semesters. The first semester, the
modules were used to supplement a standard text, and the second only the
modules were used. There were 41
students each term, and students using the modules had a higher mean and lower
standard deviation on their final exam scores.
TThe
modules are as effective as the textbook, cheaper, and easier to access and
modify. New modules can easily be added
to the course, but editorial control remains with the course author, providing
consistency and control over the scope of the course. The framework has been used for topics other than programming.
Courseware, electronic online course, programming, Visual Basic,
e-text
INTRODUCTION
This
paper describes and evaluates an online alternative to a standard textbook for
an introductory programming course.[1] It is an integrated course comprised of 91 modules
each focusing on one or a few concepts and presented within a uniform structure
and user interface.
We begin
with a description of the course user interface and the format of the
modules. The second section puts this
work in context, relating it to other courseware. The third section presents the results of a two-term assessment
comparing the modules with a standard textbook. This is followed by suggestions for further work and a summary of
our conclusions.
Module user interface and format
Our modules were developed for an introductory programming
course for business information system (IS) students. The majority will not go on to careers as professional
programmers, but they will write programs and scripts in building small
applications, and will need to interact with programmers throughout their careers. ThisIt is a required
course for our business IS majors. Some
of them go on to take a second programming course, which is an elective, but
for many it is their only programming course.
The material is also suitable for high school students and
undergraduates with in other majors.
The courseware is based on the VB.NET language and Microsoft's Visual Studio.NET development system. We stress programming terminology and concepts over the syntax of the language, so the material could easily be converted for other languages and development systems. The course coverage is much the same as that of a standard introductory text or trade book.
The modules
are accessed through a single, scrolling table in which every item is a hot
link. Figure 1 illustrates a portion of the
user interface showing three modules. Each
row contains a module that focuses on one topic. A module consists of four components (columns): A focused topic note with boldface key terms and demonstration
programs, assignments, links to the demonstration and assignment programs and
review questions. The format of each
module is the same, so only a few minutes are needed to familiarize students
with the mechanics of the Web site. Figure 1
illustrates a portion of the user interface
table showing three modules.
|
|
|
Figure 1. The user interface with one row for each
module |
Each topic
note (column 1) focuses on one topic, and most contain links to one or more
demonstration programs. For example,
the demonstration program shown in Figure 2 is used to illustrate basic
programming terms. Clicking the Display
button appends “hello my friend!” to the greeting text, and clicking the second button clears the text box.
|
|
|
Figure 2. Demonstration
program |
The demonstration programs are intentionally
very simple, focusing on one or a few concepts. The topic
note that links to this program uses it to explain terms like object, property,
value, class, event, and event handler.
These terms are boldfaced within the note, and added to the Index. A short video showing this program being used
to illustrate these terms may be found at http://som.csudh.edu/fac/lpress/vbmodules/video/ahivi.wmv.
The The second
column contains links to assignments. Most
assignments require the student to write a small program. The assignment programs focus on the module
topic, and are intentionally small to avoid losing site of the forest for the
trees. (That is our pedagogical choice,
but is not dictated by the module format).
The third column contains links
to the demonstration and assignment programs used in the module, and the fourth
column has links to self-test questions.
There
are three additional links
at the top of the page. The about
and exe links are for housekeeping.
The first is to description of the modules and the second tells students
how to install the VB.NET runtime package.
The third link, Index, is to an index of every term that is set
in bold face within the topic notes.
The index terms are "hot," so the student can jump straight to
the topic notes that use the indexed term.
A program generates this index, so there is no cost of maintaining
it. There are currently 429 index
entries with links to the relevant topic note.
An instructor can use the modules in place of a textbook or can select specific
modules to supplement other material.
We teach the class using the topic notes and demonstration programs for
lectures, and the students have access to the same material on the same server
throughout the semester.
We can place our course in the context of six dimensions.
Isolated instructional modules vs. an integrated course: Ours is an integrated course, not a collection of isolated modules like Merlot.[2] Other examples of complete online courses are the well-known MIT course Structure and Interpretation of Computer Programs[3] and the Digital Enterprise course[4] at North Carolina State University.
Self-study vs. instructor mediated: The modules may be used in an instructor-mediated course or for self-study. The self-study experience could be enhanced by screen-capture videos of presentations of the notes and demonstration programs.
Face-face vs. distant education: The modules may be used either for a face-to-face class or for distant education. All material is on the Web.
Joint, open authorship vs. editorial control: While encouraging suggestions and corrections, we have retained editorial control over this course. Little open-authored teaching material is currently available, and much of what is available is incomplete. Perhaps the most effective example of an open-authored text to date is the course XML: Managing Data Exchange, developed by Rick Watson and several of his students.[5]
Repurposed textbook vs. interactive and executable material: Nearly Online Books lists 20,000
books that are
available at no cost on the Internet,[6]
and a number of authors offer downloadable versions of their textbooks, for example Light And
Matter.[7] Online texts can go beyond the repurposed
book format with executable programs, database access, and communication with
students, instructors and others. We
have moved in this direction with executable examples and a dynamic electronic
index to the modules.
ASSESMENT
We taught an introductory
programming course for two semesters.
The first semester, the modules were used to supplement a standard text (Zak, 2002),[10]
and the second the modules were used alone.
There were evening and day sections each semester. (Evening students are somewhat older and
more likely to work full time). There
were 41 students each term (Table 1):
|
|
Section |
|
|
Term |
Day |
Evening |
|
Textbook |
17 |
24 |
|
Modules |
18 |
23 |
|
Table 1. Number of students |
||
The same
assignments and exams were used in both terms, and, as shown in Table 2, the students
using the modules had a higher mean and lower standard deviation on their final
exam scores.
|
Term |
Mean |
StDev. |
|
Textbook |
77.6 |
12.7 |
|
Modules |
78.9 |
11.0 |
|
Combined |
78.2 |
11.7 |
|
Table 2. Final exam scores |
||
Table 3 and 4 shows
other performance measures, the means and standard deviations of the midterm
exams, homework and final exam for all the four sections.
|
|
Textbook |
Modules |
Best |
|
Day |
|||
|
Midterm 1 |
44.6 |
44.1 |
T |
|
Midterm 2 |
48.6 |
46.8 |
T |
|
Homework |
81.9 |
80.7 |
T |
|
Final Exam |
77.0 |
77.8 |
M |
Evening
|
|||
|
Midterm 1 |
44.4 |
45.7 |
M |
|
Midterm 2 |
49.5 |
47.7 |
T |
|
Homework |
77.9 |
82.4 |
M |
|
Final Exam |
78.1 |
79.6 |
M |
|
Table 3.
Mean scores |
|||
|
|
Textbook |
Modules |
Best |
Day
|
|||
|
Midterm 1 |
10.4 |
8.5 |
M |
|
Midterm 2 |
13.7 |
10.7 |
M |
|
Homework |
14.6 |
11.6 |
M |
|
Final Exam |
14.9 |
10 |
M |
Evening
|
|||
|
Midterm 1 |
7.3 |
7.6 |
T |
|
Midterm 2 |
13.1 |
11.8 |
M |
|
Homework |
14.2 |
15.7 |
T |
|
Final Exam |
11.1 |
12.4 |
T |
|
Table 4.
Standard deviations |
|||
While the students
using the modules had higher mean scores on the final exam for all four groups,
they did not always score higher on the other measures. The evening students using the textbook had a lower
standard deviation on the final than their counterparts who used the modules.
During
each term, we gave the same lectures, homework assignments and exams, and used
the same grading scheme, course policies, and email and list server support
service. Students using the modules
were not told they were new or that their performance was being compared with
the previous term in order to guard against the Hawthorne Effect.
None of
the performance differences we observed were significant, indicating that
performance is roughly the same using either the modules or a textbook. Variance in student performance is explained
by their preparation and effort and teacher skill, not the teaching material.
The focused-module approach requires that the students do
many small assignments, leading to a heavy grading and bookkeeping burden. On the other hand, the grading is simple, and could be handled by
a for the instructor or a teaching
assistant.
Since
the modules focus on single topics, assignments are also focused, and there are
no large, integrative assignments. One
could develop more integrated "capstone" programming assignments, but
the course is time constrained. As
such, we have decided to put large projects off to the second semester.
As mentioned above, weWe
could record capture in-class lectures and demonstrations using a by running a
video screenscreen-capture -capture program like
Camtasia. This would combine an audio recording of the
class session, including spontaneous questions, answer, comments and
digressions with video of the demonstration session.
One could also pre-record the various lectures and
demonstrations. using screen video capture.
While we would lose the spontaneous nature of the lecture
with questions, comments and answers, the recordings could be scripted and
edited to produce shorter,
a
more polished videos.
Such videos would also enhance the value of the material for a distant
learning class.
In addition to videos, we could
add annotated answers to the comprehension questions and assignment solutions
for instructors wishing to use them.
The
current course implementation is hand coded.
The only automation at present is in the generation of the Index of key
terms with links back to the modules in which they are used and defined. A database-driven version could be developed
within which
the topic notes,,
programs, assignments, and questions were stored in a
database maintained by the instructor.
Other courses can be presented using the same
format. We have begun work on similar
modules on Web development, image processing, audio processing, TCP/IP, wireless
networking and connectivity options.[11]
Finally, we need assessment and feedback from other instructors and students.
We have
developed and tested a set of teaching modules for an introductory programming
course. Our assessment indicates that
these modules are as effective as a standard textbook for teaching this
material. They are more concise than a
textbook which helps focus the student's attention on the key concepts and
skills that are introduced in an introduction to programming. The modules are also cheaper than a
textbook,[12] and more
easily corrected and extended.
The
simplicity of the user interface enables students to learn the system in only a
few minutes, yet it is sufficiently concise as to capture an entire
one-semester programming course in a single, scrollable table in which every
item is a hot link.
Our user interface and modular format can accommodate both
this and other course material. We have used the modules in a
face-to-face class, but they could be used in distant education or for
self-study. The modular format also
allows us to combine the advantages of a consistent style, level and tone and
the organized coverage of an integrated textbook with the flexibility of a
collection of instructional modules.
We feel
this and other electronic material will eventually replace conventional
textbooks in some cases, although conservative behavior of faculty, students,
bookstores, etc. will slow the trend.
We will
develop similar modular material for other courses and will continue using
these modules for our programming course.
We invite others do use them as well.
[3] http://ocw.mit.edu/OcwWeb/Electrical-Engineering-and-Computer-Science/6-001Structure-and-Interpretation-of-Computer-ProgramsFall2002/CourseHome/.
[6] The Online
Books Page, http://onlinebooks.library.upenn.edu/.
[9] http://ocw.mit.edu/NR/rdonlyres/Physics/8-01Physics-IFall2003/F30FC300-580C-4EFC-B43D-E9257D250A81/0/l23001_6.pdf.
[10] Zak, Diane, Programming with Microsoft Visual Basic.NET, Course Technology, 2002.
§ http://som.csudh.edu/fac/lpress/netapps/html/
§ http://som.csudh.edu/fac/lpress/netapps/image/
§ http://som.csudh.edu/fac/lpress/471/hout/audio.htm
[12] According to the National Association of College Stores, royalties accounted for roughly 12 percent of the cost of a textbook in 2001-2, http://www.nacs.org/common/research/textbook$.pdf.