Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
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.