[Skip Navigation] [CSUSB] / [CNS] / [Comp Sci Dept] / [R J Botting] / [Samples] / OOPSLA2000
[Index] [Contents] [Source Text] [About] [Notation] [Copyright] [Comment/Contact] [Search ]
Tue Sep 18 15:26:29 PDT 2007


    OOPSLA 2000 Minneapolis


      These are the notes that I jotted down on a Palm Pilot while at OOPSLA 2000. I used a shorthand form of my MATHS notation, used Word Perfect to correct some of the spellings and then formatted it as follows. Arrive Sat 14th .. leave Thu 19.

      This is one persons slice out of a large and complex conference: [ oopsla2k ]

      Oct 15 Workshop 13: Active Learning for Object-Oriented Design

      Invitation: [ 13.html ] and details [ http://www.mcs.vuw.ac.nz/research/design1/ ] of plans. Results: [ v3_document.htm ]

      Oct 16 Educators Symposium

        [ 2j_edusymp.html ]

        My notes follow:

        Session 1

          Beck- FU & Beyond

          .Joke guillotine engineer

        1. problem: young programmer is gung-ho; crisis occurs, management applies schedule pressure using primate behavior.
        2. solution:
        3. 1. should say "no" first.
        4. 2. open options, "is there some thing i don't know".
        5. Educators should teach students this.

        6. XP Exercise: Design a "Coffeepot". 2 moderators monitor time and honesty + 2 users+4 designers. Users write Stories, designers estimate time for each story, Users choose 10 minutes worth of stories that are needed most, Designers carry out design for 10 minutes, Designers total times of all 100% complete stories and work out their speed, Re-estimate the remaining stories, repeat if time.

          This was very like the [ wiki?ExtremeHour ] on the WikiWikiWeb.


          Poland: central plan -> market, students now look for marketable topic& quality. EU finance restructure education. TEMPUS: ind software development in 3 univ., partner w UK+FR+ES universities. 3 years

          industry OO+process+application domain 1. engineering &tech 2. industrial informatics

          subject boxes.


          lucent c++ evangelist

          transfer. Don't just tell them. Need practice. so you must act as a coach or mentor.

          New users of design methods have these Problems:=

          1. 1. confused about 1st step. Activate prior knowledge
          2. 2. insecure about whether method gets where they need to be. Encourage cutting down to size.
          3. 3.how to map theory into practice. Analyze to get examples of missing rules.
          4. 4. How do we Evaluate options. Check lists.. Review meetings help. .C.Net

            people issues, listening.

            Challenge: can we teach this.


            Faculty as part-time teaching & working. CKS ITESM.

            Work is changing, divergence. Work helps teacher change. New net risk + speed + competition. New students, outcomes. Work is learning. Research wit industry. Divergent values. You become Knowledge manufactory. New compensation. Empathy conscience participate continuous improvement. Client vs student. Our health. +ve. Stress. Learning "no" but "I'll learn".

          . . . . . . . . . ( end of section Session 1) <<Contents | End>>

          Session 2


            Sequence of projects: next based on new. Teaches value of design work & patterns. For example a NumberTracker.

          1. ... Strategy {clear state, occupied state}. Event delegation.. Script and components.


            UK want 40% participation in HiEd. various goals. range. Spot special gifts. more students now want Flash not coding!

            Framework 5..6 classes. {controls -> Player + controls -> cyclic counter }-> graphics.

            Simple lets smart see opportunities

            students create more. But wanted control panel for animation.

            Barrett - lessons dynamic polymorphism

            Indirect runtime dispatching generalization. Example. parameter multi-methods?

            Inheritance for data? No! Think about behavior.

            Interface first. Ex. Collection patterns: adapter bridge.

            Not easy. So when? Need maturity to handle it. Need many good examples.

            contravariant precondition vs covariant post-condition. A Contravariant condition gets stronger lower, covariant is weaker at lower level.

            Spiral. Example vs theory.

          . . . . . . . . . ( end of section Session 2) <<Contents | End>>

          Session 3

            Talbot & Auer

            hi chair & baby food vs adult education

            Student taught by (religion, home school, self). Apprenticeship. Master & student.

            Adolescence as myth.

            In a practical context easy to rapidly fill in the small holes that have turned up vs trad CSci degree.

            XP Studio: pairing, see others, stand-up meeting, conference room for planning game, white-boards, pairvine,

            From audience notes that grad student is master + student. Later: UK tutor-tutee relationship.

            Whitelaw - SAD -> OOA/D+teams

            assessment?, must have teams. Past based on final product.

            XP need dynamic sub-teams.

          1. Poor student fake it & passed?
          2. sick vs email?
          3. organizer no coder?

            So teach teamwork assess on what it is experienced + context + role

            Many deliverables, consultants, rework, progressive cross-team peer YN assessment.

            Works. Up to 50 students.


            Identity. Eng or sci or infsys.

            Old educational model based on positivist model of sci knowledge

            positivist model of sci knowledge:

              basic/science -> applied/engineer -> problem_solver/craft. Hierarchical. Deductive linkage.

            (End of Net)

            Shouldn't split it up!

            Eg. can not factorized ala sci method. Engineer/ teaches theory in context of practice.

          4. History: 1797 Ecole poly descriptive geometry. Mixed. Discarded master-apprentice. 1829 split up vs Ecole central.

            Propose 3 steps: studio-based design, study great software, study classic text Parnas Brooks.

            Joe Bergin - OOSD internet

            buzzword 620 grad distributed 20people, www documentation, pedagogical patterns content: HCI, games, Java, DB, client-server objects, ethics. 2 classes, scops; midterm design & exam, final exam. Www, list, email, chat AOL -> www -> FAQ -> email, office by appointment, feedback on www pages.


            capture everything

            Tomek - different teaching OOA/D

            context. 2nd.year software development team course. Prerequisite: C, OO, DS, AI 15 student..

            Content. 2 approaches. Idioms patterns framework architecture using Smalltalk.

            Present: 1. waterfall ooa/d documentation, 2. Lightweight test-driven evolve refactoring traditional. Larman UML...text+video. XP


            trad. process not exciting, design first OK. documentation stinks

            XP. limited time. Story><effort. test cases. Code. Regression testing. Refactor. Students liked. Want more. Missionaries! Initial estimates are truly bad. YAGNI (You Ain't Gointa Need It)is hard. Test first procedure took longer than estimated.

            Conclusions: 2 is good. XP 1st because less to learn. Need good environment. Start with old code.

          . . . . . . . . . ( end of section Session 3) <<Contents | End>>

          Session 4


            Contacted OO teaching base: WWW collection of OO and other examples.

            Daniels - back to basics

            Activity for participants to list the 5 key ideas of OO.

            He said he would send a video to WWW with names.

          . . . . . . . . . ( end of section Session 4) <<Contents | End>>

        . . . . . . . . . ( end of section Oct 16) <<Contents | End>>

        Oct 17

          Tues 1


            2223 people+38 countries, .5 software development, 1/3 new

            keynote Tsichritzis

            Socrates: writing is in context|-misinterpreted |- not written.

            Object becoming alive.

            Many OO ideas have been around a long time.

            1. Paleolithic assembler: encapsulation ... Using documentation
            2. Neolithic hi level languages: gen data types, modules & procedures, contains OO ideas.
            3. Bronze Simula. Word "object", data types+databases, paradigm shift to prototyping eg. C Unix LISP.

              But find better way :. Smalltalk

            4. iron age: OO revolutionary languages, methods, pragmatics,

              Two missing things: network until Java, agent just starting.

            5. Nomadic: act & move around! But not smart. "the Internet is the machine"
            6. Java - put in too much from company too hype it.

            (End of Net)

            Need objects to evolve as they move around. But how to measure success. Classes need to evolve as well.

            Need Autonomous mobility.

            Death is needed. Limited life or ways to kill. A way to terminate classes/designs.

            No object metabolism. Need Internal activity of objects. Speeds up reactions. Clear Functionality & roles. Eg leg.

            A different way to think. Not closed world any more. Fast change. Sociology of systems.

            Creation took 6 days + millions of year of evolution. So need ways to let code/objects evolve


            legacy ideas can hold us back. Need new ideas.

          . . . . . . . . . ( end of section Tues 1) <<Contents | End>>

          Tues 2 practitioners


            initial prototyping. Time boxed. Testing seems to slow u down. Domain experts communication problems. Back to story boarded pencil&paper pads of GUI. GUI implies a hidden model. Both can write the GUI. Save it. Scan It in....

            Can do 2-3 iteration in 30mins.

            How to integrate.

            static Www sim. Accept. Architecture prototype to test tech options. Jini.

            Xp Business needs vs development estimating & scheduling...

            However, some don't get buttons when on paper.

            .Question jini. OK on LAN. But not reliable over internet under stress. So XML tunnel from LAN to LAN. Good dsign made change easy.

            ?test. How often?

            ?2 developers+4users. partitioned

            ?distributed team. so no pair ping

            Pelrine AP in switzland daedalos

            example simulation vaccine. effect increase value/price. Risk factor - age & time.

            Fixed price, scope, quality. Var time. Xp process. risk swapping. variation of Planing game. Development to fast for user.

            Hurry up & wait. estimate time & certainty -> load factor(1.5, 2.2, ...). Spread sheet -> budget.

            simplest: gra&reports -> excel. YAGNI -> country determines benefits etc. No premature international. wrong country. Avoided useless work. pair programming -> w customer

            "let them use Java, Smalltalk is our secret weapon".


            Newirk & martin of Object Mentor screw up XP

            XP for user area commercial web site.

            Harvest XP knowledge

            asp to JSP JRun JDBC JUnit

            3 week release cycle, 1 week iteration 40hours work. 6people pairing. No known bugs.

            Stories. Customer vs programmers. Common ideas. 2 day

            when refactor? Jit, when see it.

            stories -> tasks, sign up, est, too long. So "we'll try". We did it. What did we loose? Should not let customer bully us.

            employee became bullying customer.

            Infrastructure. Obvious but still too early.it was Wrong! Refactor.

            test servlets? No! So refactoring tough. Place for untested! Minimize them. Acceptance testing. Customer asked for a testing system.

            Testable designs are better.

            "email is oral".

          . . . . . . . . . ( end of section Tues 2 practitioner) <<Contents | End>>

          Tues 3 Highsmith


            Gary Hamel "Leading the revolution". Time is right. Management is running scare.

            Three inequalities:

            • Discipline (behavior) <> Formality (forms).
            • Documentation <> Understanding.
            • Process <> Skill.

            Situational. Projects.

            Culture ( self selected, cmm vs xp ). . .

            Situational. leadership.

            picture: flea on an elephant "I'm in charge".

            How soon will it become unmaintainable?

            So rework refactor all the time & so retest & refactor.

            High risk first to kill bad projects faster.



            radical innovation

          1. Disruptive technology lite process Disrupting heavy weight process india cmm4 but too slow.

            Crystal methods by cockburn

            Rapid exciting large hi-quality research projects in unstable world.

            incompatible: Innovate & disciplined & adaptable.

            Original plans are irrelevant now.

            Optimization vs adaptation like armor vs mobility.


            lite - customer value, tacit knowledge(grease taste test), collaboration, adaption, minimalize.

            [ ASD ]


            table vision

            harnessing change

            not resist change.

          . . . . . . . . . ( end of section Tues 3 Highsmith) <<Contents | End>>

          Tues 4 panel

            title: Hack as hero

          1. positions::= {
            (RonC): Xp doesn't scale.
            (KentBeck): No great skill needed, problem with political.
            (RobertMartin): Depends on treating programming as a professional.
            (Lynda): developers Like it but none do it. Organizations don't buy it. Scrum
            (RonJ): Pro. some Good & some bad. Best I know.
            (Laurie): Pairprog resisted. Devtrs & manrs. But extractable.

          Values scale even if practices don't.

        1. all Programmers are same myers briggs type!

          Problem in Germany with formal structure vs social networks.

          Risk of artifact that has no immediate evaluation.


          Forget discipline! Go for addiction or habits.

        . . . . . . . . . ( end of section Tues 4 panel) <<Contents | End>>

      . . . . . . . . . ( end of section Oct 17) <<Contents | End>>

      Oct 18

        Weds 1 Agents Software Engineering

          Nicholas Jennings of University of Southampton, England.

          Software is complex. Software engineering is difficult. Getting worse. Continuous catch up. New ways to develop software.


          Agents encapsulate complex system and are autonomous in environment with goals. Control own state & behavior. Flexible: can refuse. persistent threads of control. Objects with an attitude.

          Many definition.

          Normally Multi-agents. Interacting knowledge. Not predefined. Late binding for interactions

          Part of an organization. Changeable. Ways to negotiate teams to achieve goals.

          integration engineering. protocols: Contract net, Auctions

          example: { 1buyer many seller - increase price etc. until bid from seller. Freedom to lie! Truth is dominant strategy!

        Organizational Engineering. Eg. Common purpose hence coop behavior. Win-win. Fuzzy.

        Argument in favor

        Simon complex systems. almost separable. Primitives nor primitive. Intermediate forms.

        Interacting agents natural decomposition. level of abstraction. Min gap between world/solution & construction!

        Mainstreamed because fits software development trends.


        disaster possible! Interaction engineering, organizational engineering.

        .Question: trust .Answer: engineered!


        need 1. practical methods. 2. Industrial toolkits. 3. Reusable know-how & technologies patterns.

      . . . . . . . . . ( end of section Weds 1 Agents software engineering) <<Contents | End>>

      Weds 2 models

        FrankKarunaratne finance p33

        very abstract putting yacht in same class as a contract for basket ball player.

        smaller pieces. Bus types vs classes. A matter of roles not attributes +operations, financial concepts are human conventions and so always shift. so model deep structure instead.

        financial terms: overloaded, inconsistency, turf protection. This costs time & money.

        multiple inheritance spaghetti. Generalization is not inheritance. Real inheritance is individual not classification.


        Kilov. multiple Subsets w different discriminator. But root doesn't.

        Use roles to classify they act like interfaces.

        Classification are runtime objects using logic but features become the objects.

        Astudillo arch -> bus proc

        on web
      1. context goals functional + non-f. No paper. Open. simpler. Robust adaption process. Accounting fictions
      2. discover paying is not reflecting/analysis. had found 2 business processes that was not mentioned. 2 lobes.


        CYC ontology Lisp -> reader macro CLIPS ->generate code production system rulebase -> Java Beans

      3. ontology unified application models. Fowler&hayes

        ooa lags behind ood/oop. Fragile models.

        CYC upper ontology 3k facts&rules. Published. Large. well tested. Machine readable. Multiple layers.

        Genis -> extends. Bin predicate -> attribute -> Java Bean naming pattern.

        ? Multiple inheritance. Via interface+delegation. ? Multiplicity not shown. ? Hi-order classes. Fowler. ? Relations between relationship.

      4. wish list::= {
      5. Multiple inheritance,
      6. Multiple return values,
      7. generics
      8. relationships 1st class,
      9. macros,
      10. Hi-order classes

      Mistake. Shoulda used code gen to make GUIs. Mismatch of GUI & ontology.

      ->> rule based > graphic. stake holder Buyin. Automate as much as possible.

      Mac LISP MCL!

    . . . . . . . . . ( end of section Weds 2 models) <<Contents | End>>

    Weds 3 OOA to OOD

      Herman Kaindl organizer


      Karl Frank

      About as difficult as anything else in software development. 2 problems. Some Methods make it harder. Understanding 2 different domains: problem & solution. Done ATM for a bank in course 1991. Use code to express the problem as well as solution.

      Ivar Jacobson

      4 definitions in panel. requirements use-case -> trace -> analysis use-case -> design. Use-case includes qualities. Push button automation. Must have document on components.

      Steve Mellor

      No transition! It is always about modeling a domain. But there are many domains: problem, design, interfaces, languages, data bases, .... No common model. Instead make a executable mapping from models >< quality to software. So analysis & design of compiler-like program to produce the code.

      Joaquin Miller

    1. Analysis: understand & model is human process.
    2. Design: computer system. Adds & removes objects. Not refinement.
    3. models: as-is vs to-be.
    4. modeling adds from reusable library/ontology. So its difficult.

      Herman Kaindl position

      There must be a transition. Perhaps 1 requirement: make this system. ----


      Easy & difficult parts.


      Consider qualities early.


      Product line "domain analysis".

    . . . . . . . . . ( end of section Weds 3 OOA to OOD) <<Contents | End>>

    Weds 4 patterns

      Harrison moderator

      After the trial of the Gang of Four.

      John Vlissides

      patterns in software: They are a means to an end. Capture proven development practice. As aids to communication and refactoring. Small automation eg. CD

      6 years later: some anecdotes in favor, 1 experiment in favor.

      The Book? Still selling.

      Next. Too many software patterns so need refactoring & indexing (see almanac by Linda Rising). Tools & language? Theory is Jim Coplien's job.

      Just do it.

      Need clearing house. For example the WikiWikiWeb.

      Dave Ungar

      Hates c++

      GoF suffered from linguistic myopia: displayed Band-Aids for C++/Smalltalk problems & does not indicate solutions embedded in other languages. Makes it ok to use the language.

      .Example fixing assembler.

      Alternatives: Know the values and you will see patterns. Push good things down towards automation, so into languages or lower.

      Should we duplicate good practices in physical design disciplines.

      Frank Bushmaann

      Patterns are not a magic bullet. Failure from comes from lack of skill & knowledge when using patterns. Patterns are not blueprints and can not replace intelligence, creativity, & skill. Patterns can be a trap. Many patterns once new and original are now Obsolete.

      Work in process. Transitional.

      (Rebecah Wirf-Broch saw the danger of reification on the bible with 23 patterns -- 7 years ago.)

      James Coplien

      Patterns are not the paradigm shift that the software development field badly needs!

      Alexander criticized pattern movement because it ignores the morality and depth needed for good design. A pattern must be part of whole pattern language dedicated to the quality of human life. resultant properties: generative, liveness.

      (dick): `sounds like he is pursuing the "Quality without a Name" via symmetry groups (eg. indenting in C). Perception Harvard psychology. See GCSE Coplein's www site. Note. "Running a Trojan Horse up against the walls of Academe".

      (dick): did he refer to Gestalt theory, Constructivism, or something else?

      quote: "Disfunctional industry. Delivering crap. A continuing intellectual laziness that ignores prior art." Example - object based, self.

      Discussed pattern #1 (Region) of Alexander. Not found in Europe, or found in Europe? Model for Growth.

      GoF is half truth. It appeals to Alexander & ignores the "real" message. "its a crock". But by becoming dominant it has failed to be a paradigm shift and preserved the status quo..

      Morality:= economic | casuistic | ?.

    . . . . . . . . . ( end of section Weds 4 patterns) <<Contents | End>>

. . . . . . . . . ( end of section Oct 18) <<Contents | End>>

Oct 19

    Thurs 1 mob sw

      Invited to tampa from Linda Risling

      [ 2z_2001.html ]

      Richard P Gabriel enrobed with music

      [ mob in ThurAM ] (But he wore a different hat and clothes).

      The hacking you liked is coming back home.

      Capitalist gloom. commodity Vs gift economy - debt of food etc for poetry friendship xenia.

      Harris. sacrifices.

      NASA: engineering via failure. Not by planing. Endless fiddling. Failure = Death.


      We know how to do small software. Large software needs fiddling & failure. Poet vs news. Pinter. Writing workshops. Synergy. Home-brew. Shared open. Shared view with individuals. Incremental. Designer needs to be user & implementer.


      Termites. More individuals raises IQ. Flocking. Complexity. Sugarscape. Simple local rule & actions.

      Chaordic. Gas..solid.

      Duende. Lorca. Death.


      Math blinders FORTRAN C equivalent... linked into one ordered whole. Physics model. Alternate languages ridiculed.

      Distributing Performing Software. Example: Jini Service distribution. Services evolve. API Evolution. Repair agents fix mismatches. All change, all version are needed.

      Scarcity habit. Under-funded-maned software development. Rebuilding the same. Hectic development.


      Modules. Reuse across context. Context -> part, part document -> context.

      Ariane. Part trusted. Body Not modular. Not pluggable. Better to allow separate compilation with no reuse.

      Levittown. Planned. Remade by users. Vs concrete towers.


      Secret software has led to a loss of educational capital -> no shared literature for learning good coder.

      Who programs

      Assume abundant programmers & time. Many small termite user programmers. Never down & never stable. Need to let go. Divergent. Eg. Jini. Dip into pool of software. Use, customize, improve, annotate. fix/version & return. Robots fix interfaces.

      Workshop education. Shared code so seeking beauty.

      Open Software movement: moving slowly making a parallel alternatives to dollar driven code. Convergent. Technology.

      Code used to be published & shared. MacLisp... Then dollars for secret code. Vs gift economy of code & advice. A literature of source code. missed Knuth!

      Example of a mob developing a large piece of high quality work: Oxford English dictionary. Mob submits citation. The best submitter was an insane doctor Smithsonian.

      The Mob works by Enthusiasm. Developers are users with some brilliant unemployed. Sharing.

      vs NASA. This analysis says that they did not have enough people.

      Post modern literature

      topos: shared reusable units of text!


      Ex. Www. When real people get at technology

      Drift back to gift.

      Trend to Hibrid like ancient Greece with parallel capital and gift economy.

    . . . . . . . . . ( end of section Thurs 1 mob sw) <<Contents | End>>

    Thurs 2 Processes

      .Moderator Norm Kerth What to wear? Hi or low ceremony? Tux or T? Answer: Both!

      Brian Henderson-Sellers

      Not one size, so need a common language. (meta model; process; process instance). {
    1. Many processes? Shift situation needs process replacements.
    2. One big with tailoring?
    3. Meta-model constructor set.


    Ritual vs ceremony. Company goals, as-is. Proc migrates as-is towards goals. Mcconnell. Visible progressed. Brookes software architecture -> organization. Adapt. Retrospectives

    Steve Mellor

    processes -> work flows, visible, usable. So correct. If it don't hurt then its wrong!

    Alistair Cockburn

    Process is secondary. People -> values -> ceremony. Quotes his published Matrix. Shows a Video clip of "The Matrix" ( People as batteries).

    missing Don Firesmith


    Norman distributes cards for questions. OO evaluation.



  1. how empower people to own process.
  2. Believe in it! Goal. Self development & review. Just-In-Time methods. Construction review & tune. Retrospective review +-?. Need bottom leadership!

    dick leaves to attend theory session and returns later


    Learn how to learn your own wisdom.

. . . . . . . . . ( end of section Thurs 2 Processes) <<Contents | End>>

Thurs 3 Theory...

    RaysideCampbell on Aristotle and Objects

    Based on published paper.

    why. Feynman. Explain to 1st year. Failed formal vs meaning. Need both & more.

    Inheritance as abstraction vs Darwin.


    Aristotle -> abstraction. genus & species.

    Aristotle includes ( Plato -> ideal | Russell -> extension set | Darwin -> evolve within genus ).



    modes of supposition : material, real, logical

    Inference. transference : ab&bc -> ac. Metaphor


    Programming Languages need a conceptual framework. Like Beta.


    Studying substance vs phenomenon. 10 meanings for "to be". IDE based on syllogism.

. . . . . . . . . ( end of section Thurs 3 Theory...) <<Contents | End>>

Thurs 4 Fest wrap up


    Ralph Johnston moderator. Problems good for teaching

    Design Fest

      who problemSurprisesgoodminusinteresting
      randy Vikingtime 2 sort out process. not lonely locked into tech end of time discussion thrash while others do work
      mike xrayJava is a bearable lang for communication. heady design process 0 ur ding analysis again
      scott order book matching3 strangers * 2 hours to yet codable solution. = contribution not personalities. time constraints & understanding 0
      ryan xrayable to agree on finite-sate-machines & No code allowed designtime&media3pages diagram parallel on PC
      chris vlab2hours? 0.5 day. other people need black/white-board parallel working
      Johnston Viking: 2 in 1st half, 6 in next half, 0 time to doc!

    . . . . . . . . . ( end of section Design Fest) <<Contents | End>>

    Code Fest

      1. Virtual lab. Chose to use Java RMI. First got a broken ERD & later got real doc. 3 proc + *client + server. Chat, many editors on 1 doc @1 time + sysadm. Design quick start. but paper is not enough. 8hour design saved 1hour coding??

      2. Viking. Java. 5boxes -> 20 classes. Front vs back end. - Viking class??

      3. Order book. Java. 3people. 10 mins choose design? No! Take time 2 pick design team by observing them. Picked an impressive team. Worked with them+domain expert. Only had to add parts that designers had no time to work out.

      4. game. Single coder c++ with directx. Client server. No graphics. But looked good.

    . . . . . . . . . ( end of section Code Fest) <<Contents | End>>

. . . . . . . . . ( end of section Thurs 4 Fest wrap up) <<Contents | End>>

Thurs 5 Educ wrapup

    Target: sci or eng or craft ?


    O'Callaghan: where is design in our courses?

    Joe Bergin: design Needed for accreditation. But CSci focuses on algorithms.

    Mike Whitelaw: Teach Programming by oral methods. COBOL as pigeon or creole language. Our subject is humanities.

    Jim Coplien. Programming in high school. So teach domain knowledge.

    Alistair Cockburn: need reflective practitioners. So Parallel class reflecting on others.

    O'Callaghan : service learning. Design studios. Reflection on work done.

    Anna Trevino: what must they know by end of degree. No time later.

    50/50 project/classes. But who learns what.

    Jim Coplien. Teach skill or thinking.

    Exams teach us to hide our ignorance. Software development needs us to expose & fix errors.

    Dick: sci or eng or craft or art ?

    Employer: They don't know what is good!

    Piano playing discussion.

    O'Callaghan: The scientific mold is broken.

. . . . . . . . . ( end of section Thurs 5 Educ wrapup) <<Contents | End>>

. . . . . . . . . ( end of section Oct 19) <<Contents | End>>

. . . . . . . . . ( end of section OOPSLA 2000 Minneapolis) <<Contents | End>>