Site map, search; education, policy. Consultancy, Analysis, Software Agents, Taiwan news. I Ching, Initiation, Graphic Gallery, SeeTree, etc. Technology, SlimWinX. What's new, what's happening. News, articles, papers, readings. Staff profiles, feedback, interests, recommendations. Solid Software Home Page.

  News, articles, papers, readings.  Info
  Solid Software Home Page.  Home

Solid Software's Information Page


Chinese Language eBook Publishing

eBookDynasty: is an Indie writing and publishing platform. We publish eBooks in the Chinese language (both the Traditional and Simplified character sets). We also offer expert translation services between Chinese and English (both ways), using the skills of Scholars versed in the Literature of China (present and past), and the Arts and Science of the West.

Dual language web-site:

Sample Article:

Want your kids to learn another language? Teach them code

Steve Goschnick, Swinburne University of Technology

Among Malcolm Turnbull’s first words as the newly elected leader of the Liberal Party, and hence heading for the Prime Minister’s job, were: “The Australia of the future has to be a nation that is agile, that is innovative, that is creative.”

And near the heart of the matter is the code literacy movement. This is a movement to introduce all school children to the concepts of coding computers, starting in primary school.

One full year after the computing curriculum was introduced by the UK government, a survey there found that six out of ten parents want their kids to learn a computer language instead of French.

The language of code

The language comparison is interesting because computer languages are first and foremost, languages. They are analogous to the written versions of human languages but simpler, requiring expressions without ambiguity.

They have a defining grammar. They come with equivalent dictionaries of nouns, verbs, adjectives and adverbs; with prepositions and phrase patterns, conjunctions, conditionals and clauses. Of course the dictionaries are less extensive than those of human languages, but the pattern rendering nature of the grammars have much the same purpose.

Kids that code gain a good appreciation of computational thinking and logical thought, that helps them develop good critical thinking skills. I’ve sometimes heard the term “language lawyer” used as a euphemism for a pedantic programmer. Code literacy is good for their life skills kit, never mind their career prospects.

Scratch is one of a new generation of block programming languages aimed at teaching novices and kids as young as eight or nine to write code.

Scratch teaches code with movable instruction blocks. Screenshot from

The Scratch language uses coloured blocks to represent the set of language constructs in its grammar. A novice programmer can build up a new program by dragging-and-dropping from a palette of these blocks onto a blank canvas or workspace.

The individual shapes of the blocks are puzzle-like, such that only certain pieces can interlock. This visually enforces the grammar, allowing the coder to concentrate on the creativeness of their whole program.

The Scratch language (and its derivatives) are embedded in a number of different tools and websites, each dedicated to a particular niche of novice programmers. The website is a prime example and has a series of exercises using the block language to teach the fundamentals of computer science. is a non-profit used by 6 million students, 43% of whom are female. It runs the Hour of Code events each year, a global effort to get novices to try to do at least an hour of code.

For a week in May this year, Microsoft Australia partnered with to run the #WeSpeakCode event, teaching coding to more than 7,000 young Australians. My local primary school in Belgrave South in Victoria is using successfully with grade 5 and 6 students.

Unlike prose in a human language, computer programs are most often interactive. In the screenshot of the Scratch example (above) it has graphics from the popular Plants vs Zombies game, one that most kids have already played. They get to program some basic mechanics of what looks a little like the game.

Hit the ‘Show Code’ button as it reveals the JavaScript language behind the coloured blocks. Screenshot from

But has a ‘Show Code’ button that reveals the JavaScript code generated behind the coloured blocks (see above). This shows novices what they created in tiles, translated into the formal syntax of a programming language widely used in industry.

It’s not all about the ICT industry

Both parents and politicians with an eye to the future see the best jobs as the creative ones. Digging up rocks, importing, consuming and servicing is not all that should be done in a forward-thinking nation.

But teaching kids to code is not all about careers in computer programming, science and software engineering. Introducing young minds to the process of instructing a computer allows them to go from “I swiped this” to “I made this”. From watching YouTube stars, to showing schoolyard peers how they made their pet cat photo meow.

It opens up young minds to the creative aspects of programming. Not only widening the possible cohort who may well study computer science or some other information and communications technology (ICT) professions, but also in design and the creative arts, and other fields of endeavour yet to transpire or be disrupted.

For most kids, teaching them to code is about opening their mind to a means to an end, not necessarily the end in itself.

The Conversation

Steve Goschnick, Adjunct Professor, Swinburne University of Technology

This article was originally published on 22nd September 2015, at The Conversation. Read the original article.

Samples of our Papers:

  • Goschnick, S.B. (2003). Enacting an Agent-based Digital Self in a 24x7 Web Services World. In proceedings of ISMIS 2003, the 14th Symposium on Methodologies for Intelligent Systems, Maebashi, Japan. Springer LNAI vol. 2871, pp187-196. Version of this paper is available here as a pdf file: GoschnickISMIS-2003.pdf (2340 Kbytes) The published version of this paper is now available online (as of 30th Mar'06), here: Springer link
    As broadband access to the Internet becomes pervasive, the need for a 24 hours a day, seven days a week (24x7) interface within the client devices, requires a level of sophistication that implies agent technology. From this situation we identified the need for a user-proxy++, something we have termed the Digital Self that acts for the user gathering appropriate information and knowledge, representing and acting for them when they are off-line. With these notions in mind we set about defining an agent architecture, sufficiently complex to deal with the myriad aspects of the life of a busy time-poor modern user, and we arrived at the Shadowboard architecture. For the theory, for the model of mind, we drew upon the Psychology of Subselves, a modern strain of Analytical Psychology. For the computation engine we drew upon Constraint Logic Programming. For the hundreds of sources of sub-agency and external intelligence needed to enact a Digital Self within the 24x7 Internet environment, we drew upon the Web Services paradigm. This paper presents the theory, the architecture and the implementation of a prototype of the Shadowboard agent system.

  • Goschnick, S.B. & Sterling, L. (2002). Psychology-based Agent Architecture for Whole-of-user Interface to the Web, Proc. of HF2002 Human Factors Conference: Design for the Whole Person - Integrating Physical, Cognitive and Social Aspects, Melbourne, Nov. 2002. Paper (in pdf format, 169 KBytes) Short paper.
    This paper argues that the user interface of a workstation connected continuously (24x7) to a network would be most effective with a sophisticated agent architecture embedded deep in the workstation system software. In the user's absence an embedded agent system could act as something more than a proxy for the user, the multiple sub-agents within it should act in concert as a Digital Self, one representing and empowering the user. Our proposed agent architecture, called Shadowboard, is based on a sophisticated model of the user drawn from the Psychology of Subselves, a modern stream of Analytical Psychology.

  • S.B. Goschnick (2000). Shadowboard: A Whole-Agent Architecture that draws Abstractions from Analytical Psychology (this links to an 243 KBytes .pdf file), Proc. PRIMA 2000, Melbourne, Aug 2000.
    This paper presents an intra-agent architecture called Shadowboard, one that takes abstractions from analytical psychology. The Shadowboard architecture is a foundation upon which to build a whole-agent - an individual autonomous agent no more, but one made up of many sub-agents. Such a whole-agent approach to modelling enables a psychologically sound, finer-grained approach to applying behavioural abstractions such as BDI, while incorporating the selection of capabilities and plans, together with learning and optimization. An individual agent built upon Shadowboard is also capable of collaboration and cooperation in a wider MAS system. The strong degree of self-awareness that a Shadowboard agent intrinsically has, not only allows it to improve its own performance and effectiveness over time, it also offers significant advantages in modelling other agents in an encompassing MAS system.

  • Nov, 1998: Melbourne, TOOLS Pacific '98: Steve Goschnick delivers a paper to the Tools Pacific'98 conference, held in Melbourne Australia, in late November. The paper is about the analysis, design and development of an Online Education System called Melbourne IT Creator. Details of the paper are:

    Title: Design and Development of Melbourne IT Creator™ – a System for Authoring and Management of Online Education.

    Keywords: HTML, authoring tools, Java, SQL, Internet, dynamic content, XML, metadata, Relational DBMS, online education, multimedia, hypermedia, web development.
    Author: Steven B. Goschnick
    Affiliation: Department of Information Systems
    The University of Melbourne
    Parkville, Victoria 3052, Australia
    Email: stevenbg 'at' unimelb 'dot' edu 'dot' au
    This paper presents a Case Study in the symbiotic use of new internet based technologies and an SQL server, to develop a software tool in a new category of generic software: a system for authoring and delivery of web-centric learning. In the design and implementation of the system, the developers drew upon the latest available languages and platforms, aiming for a high benchmark in this new software genre: Java for cross platform authoring tools; JavaScript and HTML V4 for scripting and markup; applets, video and other media types as object components; IIS (Microsofts Internet Information Server technology) to deliver dynamically constructed HTML markup. Behind the interfaces and business rules is robust SQL server technology, which is taking on an expanded role in proliferating web-based information systems. In the latter half of the paper, problems and solutions are discussed, including the use of metadata and XML (the eXtensible Markup Language) as part of the solutions.
    For the full paper online: Click here.

  • Oct, 1998: New York, Christine Sun delivers a paper at the 40th Annual Conference of the American Association for Chinese Studies (AACS), "China Entering the 21st Century", New York City, USA.

    Paper Title: Negotiating between ‘Bounded Spaces’: Introducing Australian Chinese Writers to the world.


We've had numerous newspaper and magazine articles published over the years. Some that have ongoing relevance are available online, are accessable from here:

After the Flood by Christine Sun. Published in The Age/Sydney Morning Herald, Good Weekend magazine.

An interview with a C++ guru by Steve Goschnick. Published in The Age.

Computers fast becoming the universal relator of concepts by Steve Goschnick. Published in The Age.

Two roads lead to quality street by Steve Goschnick. Published in The Age.

C++ing out the Millenium by Steve Goschnick. Published in The Age.

Programming Part I: Choosing Your Tools. S.B. Goschnick (1991). Aust. PC User magazine, pp.56-74, June 1991.

C++ - A Language of Liberation. S.B. Goschnick (1991). Your Computer magazine, Sep'91, pp82-88.

C++ Programming - Putting Large Projects Back in the Hands of a Few People. S.B. Goschnick (1991). Your Computer magazine, Aug'91, pp74-81.

The C++ Language - A Cornerstone of the 90's. S.B. Goschnick (1990). Your Computer mazagine, Dec. pp 64-72, The Federal Publishing Company, NSW.

Press Releases



Solid Software Pty Ltd

ACN: 084 786 498
Postal Address: P.O. Box 218, Belgrave, Victoria 3160, Australia
Email: gosh 'at' solidsoftware 'dot' com 'dot' au

This page last updated: September 2015.

Guidance | Services | Products | Tools | Activity | Information | People | Home

©   1996-2015: Solid Software Pty Ltd. All rights reserved.