Object-oriented programming using Java

Download Report

Transcript Object-oriented programming using Java

Informatics 101: How to Teach
New Information Technologies
Helmar Burkhart
Computer Science
University of Basel
[email protected]
Overview
Personal Experiences
Informatics 101:
• Background
• Contents
• Experiences
Curriculum Aspects
• Global view: Curriculum 2001
• Local view: Uni Basel
Informatics 101: How to teach? (NLT Bern 30.08.1999)
Computer Usage and Projection
in Lecture Room
Algorithmic Motivation
• Sort Race
Algorithmic Training
• Spiral
• What’s the output?
New Media
• Email (audio)
• MP3
Informatics 101: How to teach? (NLT Bern 30.08.1999)
Internet Access in Lecture Room
Online tours
• Computer Museum
Survival training in the information age
• 800 M (?) web pages world wide
• Mona Lisa
• Wrapped Trees
It’s not a toy - it’s real life
• Currency calculator
Informatics 101: How to teach? (NLT Bern 30.08.1999)
Added-Value of New Content
Management Infrastructure
Trails
• Replay lecture parts
• Extend and modify teacher’s programs
My home is my lab
• Run exercises on Home-PC
Self-tests for drill & practice parts
• Similar to foreign language studies
Informatics 101: How to teach? (NLT Bern 30.08.1999)
Potential Risks - Often Ignored
Teachware crisis
• I build, you maintain!
• Intellectually attack any hype
Brandnew legacy software and information
descriptions
• Java
• HTML - XML
Quality of production preps
• learn from movie business and TV
Informatics 101: How to teach? (NLT Bern 30.08.1999)
Informatics 101: Design Issues
Target audience: Students of physical
sciences (non-majors in informatics)
Prerequisites: None (in informatics)
Smooth revisions: Lectures and lab
Radical Revisions:
• PASCAL  JavaScript, Java
• Internet technologies
Administration: Usage of Top Class
Informatics 101: How to teach? (NLT Bern 30.08.1999)
Informatics 101: Contents
 Orientation and Basics: what is informatics?, short history of
computing, coding of information, basic understanding of computer,
and survey of application area.
 Internet from a user's point of view: computer networks, internet
services, information search, and basic elements of HTML.
 Imperative Programming using JavaScript: algorithms, imperative
programming paradigm, JavaScript elements (expressions, statements,
functions, arrays, document object model), and
event-driven
programming.
 Object-oriented programming using Java: extending the imperative
core, object-oriented programming paradigm, graphics, user interfaces,
exception handling, input and output, network programming, and
applets and servlets.
Informatics 101: How to teach? (NLT Bern 30.08.1999)
ACM/IEEE-CS Curriculum 2001
Curriculum 1991
• 9 Subject area: Algorithms and Data Structures,
Architecture, Artificial Intelligence and
Robotics, Database and Information Retrieval,
Human-Computer Communication, Numerical
and Symbolic Computation, Operating
Systems, Programming Languages, Software
Methodology and Engineering
• 3 Processes: Theory, Abstraction, and Design
Informatics 101: How to teach? (NLT Bern 30.08.1999)
Curriculum 2001 (2)
New focus area
• Computing at the Interface, Net-Centric
Computing, Computational Science, ….
Informatics across curricula
• CS Non-majors get more and more importance
Life-long learning
• New models for ongoing education,
partnerships with private training companies
Informatics 101: How to teach? (NLT Bern 30.08.1999)
Questionnaire Uni Basel
"What are the CS core topics to be taught
ALL students in your field ?“
Priority
1
2
3
4
5
6
7
8
9
10
Topic
Algorithm and data structures
Numerical and symbolic computing
Programming languages
Internet
Databases
Operating systems
Man-machine communication
Computer architecture
Software engineering
Artificial intelligence and robotics
Points
20.5
18.5
18
16.5
13
12
11
9
8
7.5
Informatics 101: How to teach? (NLT Bern 30.08.1999)
Informatics 101: How to Teach
New Information Technologies
?
Final Remarks
Informatics 101: How to teach? (NLT Bern 30.08.1999)
Informatics 101: How to teach? (NLT Bern 30.08.1999)
Informatics 101: How to teach? (NLT Bern 30.08.1999)
Informatics 101: How to teach? (NLT Bern 30.08.1999)
while (dist >0){
tg.move(dist);
tg.turnRight(90);
dist-=10;
}
tg.move(10);
while (dist<400){
dist+=10;
tg.turnLeft(90);
tg.move(dist);
}
Informatics 101: How to teach? (NLT Bern 30.08.1999)
Informatics 101: How to teach? (NLT Bern 30.08.1999)
void Draw(TurtleGraphics tg, double
s){
if (s<1) return;
Point p = tg.getPenPos();
double w=tg.getPenDir();
tg.turnLeft(45);
tg.move(s);
Draw(tg,fac*s);
tg.setPenPos(p);
tg.setPenDir(w);
tg.turnRight(45);
tg.move(s);
Draw(tg,fac*s);
}
Informatics 101: How to teach? (NLT Bern 30.08.1999)
fac = 0.5
fac = 0.75
Informatics 101: How to teach? (NLT Bern 30.08.1999)
Computer usage and projection in
lecture room
Algorithmic Motivation
• Sort Race
Algorithmic Training
• Spiral
• What’s the output?
New Media
• Email (audio)
• MP3
Informatics 101: How to teach? (NLT Bern 30.08.1999)