Transcript PPT

Simplicity First: Use of Tools in
Undergraduate CS and IS
Teaching
By
David Naugler and Ken Surendran
Southeast Missouri State University
Computer Science Department
Presenter: Ken Surendran
Background
• Paper resulted form experience in using
software tools in CS and IS
• Recent: Higher level programming courses,
Database Management course, Systems
Analysis and Design, and Software
Engineering (Capstone course).
• Past: lower level programming courses
(programming) and lower level MIS courses
(IS).
Contents
• Use of tools in lower level courses.
•
•
•
•
– CS / IS : Programming
– IS: Information Systems (Fundamentals
and Practice)
Possible Side Effects (impacts on learning)
Use of tools in higher level courses
(Database, Analysis and Design, Software
Engineering)
Findings
Suggestions
Tools
• Types:
–
–
–
–
–
–
Programming Language
Integrated Development Environment
Modeling Products
Database Management Systems
Productivity Packages
Complex Application Packages
• Range:
– Industrial strength
– Lighter version
Tools in Programming (Programming
Environments)
• Professional tools
– Complex
– 747s; semi-trucks
But students are not professionals at that stage
• Simple (students’ use)
– Ready (for Java)
• Graduated
– Dr Scheme (beginner, intermediary, advanced)
• Makeshift solution
– TestPad (syntax awareness)
Tools in IS (fundamentals)
Early IS courses: Fundamentals and
Practices (curriculum guidelines 2003)
• Use personal productivity packages
– Mainly Excel, Access
• Observations
– solve a database problem using
spreadsheet; but quickly learn the
limitations and change
– create tables straightaway, common sense
replaces design model
Side Effects on Learning
Ideas from theory of learning
• Inadequate mental model
– Use of GUI hide what is really happening (use of
icon – periphery knowledge)
– Creation from whatever is immediately available
(hacking – try and see what happens)
• Designing without a conceptual model
– User interface for learning (no conceptual model)
is different from user interface for professionals
(has the conceptual model knowledge)
Upper-level courses (General issues)
• Wrong emphasis
– Focus on producing nice looking diagram
– Need to draw them on paper (step-bystep) first to decide the content
– Misestimate of effort (when students see
just the finished diagrams)
• Lack of flexibility (during initial stage)
– Interface designs using tools (storyboarding on paper convenient for user to
review)
Database (Survey results)
• End of course survey: 30% students wanted
to learn more tools related material and only
5% wanted more concepts (rest wanted
neither).
• Yet, 70% found normalization difficult
• SQL easy (70%) and least important (40%);
design most important (50%)
• Learning tools more important than concepts
(prefer short useful life versus lasting value)
• Learn Access without due regard for design
Analysis and Design (Performance)
• Running project with four phases
No complex case tools
• Used Visio (MS) for modeling diagrams
• Focus was on concept
Good process model; not so good data
model (more errors).
• Reverse engineering using Access
Capstone courses
• Software Engineering
• Encouraged to use different tools: Rational
Rose, MS Project.
• Able to pick up on their own with minimum
support
• Object-relational paradigm shift.
• Some used JDBC (learnt themselves)
• Clearly demonstrated ability to use tools on
their own.
Tools and system artifacts
• Project Plan (MS PM)
• Rational Rose for
–
–
–
–
•
•
•
•
•
Use case diagram (use case descriptions)
Interaction diagram (Collaboration, Sequence)
Analysis class diagram
Package and class diagrams
Complete Use case model
Analysis and design mechanisms
ERD, Database schema
I/O design (GUI)
Test case design
Implementation Tools
• TextPad (for code writing)
• Java SDK and JavaHelp (freeware
utilities)
• HelpBreeze (a free trial program for
automatic help)
• InstallAnywhere Now v. 4.5 (for
installation by user)
• JDBC and JDBC-ODBC bridge
Precautions in using tools
• Complex tools (from teaching)
–
hidden costs (staff time; training cost;
implementation cost)
• Complex tools (from students point of view)
– Steep learning curve (so use in more courses)
• Academic neutrality ( tool an item in the
overall course; info on other tools)
• Education (life long) or training (short term)
Conclusions
• Concepts and tools are needed; but balance
is critical
• Lower level courses
– Avoid too many tools
– Use same tool in several courses
• Upper level courses
– Encourage use of tools
– More time on concepts; very little on tools
– Capable of learning by themselves.