[Skip Navigation] [CSUSB] / [CNS] / [CSE] / [R J Botting] /[CS320 Course Materials] /index.html [index.txt(Text)] [Search ]
Mon Jun 17 09:35:32 PDT 2013
[Schedule] [Syllabi] [Text] [Labs] [Projects] [Resources] [Grading] [Contact]
Notes: [01] [02] [03] [04] [05] [06] [07] [08] [09] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20]
Opening the PDF files on this page may require you to download Adobe Reader or an equivalent viewer (GhostScript).


    CSE320 High-Level Computer Languages

      2013-06-17 Mon Jun 17 09:35 Final grades posted -- please check for errors

      [ grading/ ]

      2013-06-14 Fri Jun 14 11:01 Grading -- to be done by Monday -- enjoy the following joke language

      (Entropy language): [ Entropy ]

      2013-06-12 Wed Jun 12 09:10 Grades for Language Reference Manuals Posted

      2013-06-10 Mon Jun 10 13:39 More grades and rules

      [ grading/ ]

      Quick reminders. You can get no more than 300 points for the work before the final and bonusses do not make up for points lost on the final.

      Finally: all work must be submitted by 12 midnight on the Friday of finals week.

      2013-06-07 Fri Jun 7 09:08 More Grades

      2013-06-05 Wed Jun 5 13:52 More grades

      Note on final -- bring blank paper to the final. Enough for 12 questions... [ template.pdf ]

      2013-05-31 Fri May 31 10:17 Grades posted

      [ grading/ ]

      #DateTopicsPrepare(2 points) for class(2 points)Lab (10 points each)
      19Jun 4Logic Programming Chapter 16 [ 19.html ] Prolog102 [ lab/19.html ]
      20Jun 6Project Presentations Ideas, BNF, UML(10 pts) [ 20.html ] Prolog103 [ lab/20.html ]
      **Jun 11Hand in to office before 4:30pmLanguage Reference Manual (15 pts)
      FinJun 13Final 6-7:50pmComprehensive (200 pts) [ template.pdf ]

      (Close Table)

      2013-05-24 Fri May 24 09:40 Grades posted

      [ grading/ ]

      2013-05-22 Wed May 22 15:10 Language news -- Dart and your project

      Here [ dart-is-not-the-language-you-think-it-is.html ] is an advertisement for the programming language Dart. What do you think...

      By the way -- most projects were good.... even when they had some BNF and UML errors and omitted to say why the langauge was important or interesting.

      2013-05-17 Fri May 17 10:11 Grades posted...

      Next topic: Java and OOP [ 15.html ] etc.

      2013-05-10 Fri May 10 11:31 Grades and next week

      Grades have been posted [ grading/ ]

      The next topic is functional programming (Chapter 15 + [ 13.html ] ) followed by abstract data types (Chapter 11 + [ 14.html ] ).

      2013-05-08 Wed May 8 11:08 Preparation for Thursday Class

      We will be studying the implementation of subprograms (Chapter 10). Please study my notes [ 12.html ] as well. Then we will be doing a laboratory [ lab/12.html ] on defining arithmetic functions in LISP.

      2013-05-03 Fri May 3 08:00 Grades posted

      2013-04-26 Fri Apr 26 13:02 Grades updated -- please check

      [ grading ]

      Next two weeks
      09Apr 30Control structures Chapter 8 not section 5 [ 09.html ] C/C++ Control [ lab/09.html ]
      10May 2Subprograms Chapter 9 [ 10.html ] C/C++ Functions [ lab/10.html ]
      **May 7Project Phase 1 ResubmitOld UML and proposed changes (10 pts)
      11May 7LISP Chapter 2 section 4 + LISP handout [ 11.html ] LISP101 [ lab/11.html ]

      (Close Table)

      2013-04-24 Wed Apr 24 14:18 Project Iteration 1 Grades Published

      See [ grading/ ] for details.... most groups will need to resubmit their work to get a good grade for the first phase.

      2013-04-22 Mon Apr 22 13:30 Questions about deadline Tuesday

      1. To earn points your name must be listed as working on a project.
      2. Work to do [ projects.html#Project Phase 1 due class 07 ]
      3. Spell check it!
      4. You do not have to make a presentation Tuesday night. Just hand in a hard copy of the project phase 1 at the start of class.
      5. You can submit softcopy -- but only 30 minutes before the start of class, so I can print it.

      2013-04-19 Fri Apr 19 11:21 More grades and next week

      [ grading/ ]

      Next week starts with Project Phase 1 + chapter 6. Followed by chapter 7.

      2013-04-12 Fri Apr 12 10:15 First Grades of Spring

      [ grading/ ]

      2013-04-04 Thu Apr 4 08:51 Reason to take CSE320

      [ 503 ]

      2013-04-03 Wed Apr 3 16:56 One language is not enough

      [ 240152206?nomobile=1 ] (Dr. Dobbs)

      2013-04-02 Tue Apr 2 17:26 Date of Final -- Thursday June 13th


      2013-04-02 Tue Apr 2 16:25 Where is the Class Room

      Three or four people have asked me where "Temporary Classroom 16" is.

      The temporary classrrooms (TC) are little buildings north of the library and West of the College of Education. We are meeting in the one numbered "016".

      To quote one student "Oh ok so those brown shack looking buildings". Yep!

      I will have to search out the right one today...

      2013-03-26 Tue Mar 26 12:15 Ready for spring quarter

      The schedule and syllabusses have been updated ready for the first class on April the 2nd [ ../syllabus.html ] (AV [ ../schedule.av.html ] ) [ syllabus.html ] [ schedule.html ]

      2013-03-21 Thu Mar 21 14:27 updated schedule

      This [ schedule.html ] would be correct and complete if I knew when the final will be scheduled, given I have got no bloopers.

      2013-03-21 Thu Mar 21 14:15 Redacting obsolete messages ready for Spring 2013

      2013-03-20 Wed Mar 20 09:10 News of Lua on Wikipedia

      [ http://www.wired.com/wiredenterprise/2013/03/wikipedia-lua/ ]

      2013-02-27 Wed Feb 27 13:37 Text for Spring quarter

      Hello Professor Botting, my name is Joey Cantellano and I was wonderingabout your Programming Languages class for Spring Quarter of 2013. I was wondering if I can use the 9th edition for the class called: Concepts of Programming Languages by Sebesta instead of the 10th edition unless the questions are different?

      Sorry -- but it must be the 10th edition.

      2012-11-19 Mon Nov 19 13:11 A different way to think about LISP - a better XML

      [ lisp.html ]

      2012-10-15 Mon Oct 15 11:22 Dog -- the programming language

      Only got the hype so far [ http://www.technologyreview.com/news/429544/new-programming-language-makes-social-coding/ ] but may be able to add syntax, samples, etc. later.

      2012-06-18 Mon Jun 18 09:57 Grades Posted

      Here is a distribution of grades

      (Close Table)

      2012-04-25 Wed Apr 25 11:13 Language stats and discussion of the day

      [ cc-back-on-top-of-the-programming-heap ]

      Here is a little enrichment [ 232900836?cid=DDJ_nl_upd_2012-04-24_h&elq=837c38b000864c6b8531c8f65e88b42a ] on improving the humble Boolean data type.

      2012-04-21 Sat Apr 21 07:41 Wat

      Just added [ wat ] to the first lab.... with thanks to Nick.

      2012-03-02 Fri Mar 2 12:29 Racket is a LISP extension

      This [Flatt12] is a demonstration of how an extension of LISP (called Racket) creates a programming language that lets you write a classic adventure text style game. It looks to provide a short cut.... Practical LISP programming always started with putting some extra structures on top of the LISP core.

      2012-01-18 Wed Jan 18 14:55 Book for Spring 2012 Announced

      1. Concepts of Programming Languages, 10/E
      2. Robert W. Sebesta, University of Colorado, Colorado Springs
      3. ISBN-10: 0131395319 ISBN-13: 9780131395312
      4. Publisher: Addison-Wesley Copyright: 2013
      5. Format: Cloth; 816 pp
      6. Published: 01/06/2012
      7. URL [ 9780131395312.page ]

      2012-01-04 Wed Jan 4 11:34 New languages that might shake things up

      [ 10-programming-languages-could-shake-it-181548?page=0,4 ] (Infoworld (01/03/12) Neil McAllister )

      2011-10-31 Mon Oct 31 10:24 Perl vs a random language

      This [ StefikPlateau2011.pdf ] paper describes an experiment where Perl is compare to two other languages. One is designed with random lexemes, and another to be easier to write.

      2011-09-22 Thu Sep 22 20:01 Tiobe Index of popular Programming languages

      Here is the annual listing of the 20 most popular languages [ index.html ] in the Tiobe Community. The biggest changes are 11 place jump by Lua and the 10 place jump of D.

      Here is a quick list of the top twenty from most popular to least popular: Java, C, C++, C#, PHP, Objective-C, Visiual-Basic, Python, Perl, Javascript, Lua, LISP, Transact-SQL, Pascal, PL.SQL, Ada, RPG, D, ...

      2011-08-09 Tue Aug 9 16:26 Rosetta Stone of Code

      Nice website about programming languages [ Help:Similar_Sites ]

      2011-06-03 Fri Jun 3 06:23 Question in class -- ROFL

      A couple of questions in class...
      1. ...
      2. Is it true that you can get car insurance from GEICO at 15% of your current insurance?
      3. LOL!
      4. Why don't you ask Prolog?

      (End of Net)

      I was laughing too much to come up with an answer.... but here it is.

      This would answer the question

       		GEICO <= Current * (1.0 - 0.15).
      if the variables GEICO and Current were instanciated with the right values...

      And you could define a couple of predicates to describe the offerings:

      and then compile these and the query below will answer the question:
       		geico(GEICO),current(Current), GEICO <= Current * (1.0 - 0.15).

      A more comprehensive approach is via a predicate/data base

    1. car_insurance('AAA', ....).
    2. car_insurance('Farmers', ....).
    3. car_insurance('GEICO', ....).
    4. ...

      and writing a predicate/program that picks the minimum price. There is a Prolog solution but it goes beyond the elementary techniques in the book and the first two labs.... as far as I can see. I'll post a solution later.

    5. 10:13:33 Here [ prolog/minimum.plg ] it is. Still looking for a solution that does not involve assert/retract.

    6. 13:11:19 Found how to use bagof and min_list: [ prolog/minimum2.plg ]

      2011-05-12 Thu May 12 13:58 Special Instruction for tonight

      To save a little time grading and handing back assigned work in class...

      Do not hand in your Qns+Ans tonight but keep them until the start of class.

      Jane Curnutt has invented a cunning procedure to save us time sorting the work.

      Each colmun of people will pass work forward with the first (alphabetically) going first, starting at the back, wait for the pack to arrive and insert yours and pass it forward...

      And we will take it from there...

      2011-05-12 Thu May 12 07:50 Eliza is alive and well in Poplog

      We discussed Eliza, AI, and languages that are competing with LISP in the AI domain.

      Jack Price found [ eliza ] a simplified Eliza running on a web page in the University of Birmingham, England.

      It is written in Poplog. Poplog is a language that we don't have time to study. It is the marriage of Pop and Prolog.

      Pop was a interpreted functional language "Pop" developed in Edinburgh (circa 1967), Scotland by a man called Popplestone. [ POP-2 ] He claimed the name came from the run-time stack he used, however. I have always like the look of it -- I have the manual in my office.... but I've never used it. And it has never got very much press or following. However I have stolen some ideas from it and put them in my own MATHS language.

      We will talk about Prolog at the end of this course.

      2011-05-05 Thu May 5 06:42 Python uses call by what

      [ 4b8b0e06a2d5cfcc?hl=en ]

      Also see [ call-by-object.htm ]

      By the way.... this is a live discussion, not a valued source of data.

      2011-04-07 Thu Apr 7 08:17 Work due tonight

      I was asked what was due to night. Here is my answer:
        There is always something due at the start of every meeting!

        This time you can get full 100% credit by handing in 2 Review Questions+Answers from Chapter 1. You may hand in more. I usually ignore the extras.

        Make them readable!

      2011-03-21 Mon Mar 21 13:35 Mirah is Java made easy

      Another new language spinning of from Ruby and Java: [ fun-java-with-mirah ]

      2011-02-22 Tue Feb 22 14:19 New resource

      [ programming-languages-basics ]

      2010-09-28 Tue Sep 28 18:44 LISP on top of Java is Clojure

      A new LISP is on the block
    7. Clojure::= See http://clojure.org/.

      Working on Python

      I have improved and will be further improving [ samples/python.html ] my python pages.

      2010-06-02 Wed Jun 2 12:14 GCC moving from C to C++

      From Slashdot
        [ GCC-Moving-To-Use-C-Instead-of-C ]

        An anonymous reader writes "CodeSourcery's Mark Mitchell wrote to the GCC mailing list yesterday reporting that 'the GCC Steering Committee and the FSF have [ msg00705.html ] approved the use of C++ in GCC itself. Of course, there's no reason for us to use C++ features just because we can. The goal is a better compiler for users, not a C++ code base for its own sake.' Still undecided is what subset of C++ to use, as many contributors are experts in C, but novices in C++; there is a call for a volunteer to develop the C++ coding standards."

        Discuss this story at: [ 0245259 ]

      2010-05-27 Thu May 27 19:44 This date in 1959

      [ http://www.wired.com/thisdayintech/2010/05/0528cobol-conference/ ]

      2010-05-27 Thu May 27 17:16 Changed XLISP

      I've added a call to "srand" to initialize the random number generator to a different seed each time you run xlisp, at the request of a user.

      Note: In the 1980's C let you get away with almost contradictory declarations. But this is no longer allowed so I had to fix 101 lines of code just so I code add ONE FUNCTION CALL.

      2010-05-27 Thu May 27 15:33 My first Ruby Sample program

      Just test Q on [ a.rb ] and it worked:-)

      2010-05-18 Tue May 18 19:52 Spot the lambda

      [ http://www.skorks.com/2010/05/closures-a-simple-explanation-using-ruby/ ]

      2010-05-11 Tue May 11 15:41 Joke History of Programming Languages

      Do not believe anything on this site.... [ brief-incomplete-and-mostly-wrong.html ] (but laugh at it).

      2010-05-06 Thu May 6 16:05 News about LISP

      [ 224600240 ]

      2010-04-15 Thu Apr 15 14:51 Joke of the day

      [ http://xkcd.com/727/ ]

      2010-04-08 Thu Apr 8 14:26 What Language is most used today

      [ index.html ]

      Today you should prepare by studying chapter 1 [ 02.html ] and handing in your review questions + Answers.

      2010-01-22 Fri Jan 22 11:02 SIKULI -- one for the strange language club

      Saw this on SlashDot. A language that makes it easy to automate tasks by mixing Python like syntax with GUI elements. For example you can take a snapshot of a button on the screen and drag it into a script as an argument of a "click(_)", "wait(_)", "input(_)", etc. function. Here [ http://sikuli.csail.mit.edu/ ] is the link to the project site at MIT. The drag and drop feature is like the MIT Scratch language.

      2009-12-14 Mon Dec 14 12:39 MATLAB -- the accidental programing Language


      2009-11-12 Thu Nov 12 14:16 Googles new language is called Go

      See Wired [ Meet_Go__Google_s_New_Programming_Language ] and [ http://golang.org/ ] by Google.

      2009-10-19 Mon Oct 19 15:36 Conversation with Language Creators


      2009-10-15 Thu Oct 15 14:07 FORTRAN Anniversary

      [ 1015fortran-launch ]

      2009-08-10 Mon Aug 10 11:02 Is COBOL Alive or Dead

      Short and to the point [Atwood09] but I think I could (1) improve his COBOL, and (2) produce elegant COBOL code that is downright ugly in any other language.

      Some entries redacted below

      2009-06-01 Mon Jun 1 12:56 Language Link of the day

      [ speed-size-and-dependability-of.html ]

      2009-05-28 Thu May 28 10:14 Another languages page

      An unknown Lisa sent me a link to [ random-programming-languages.html ] which has some information and links to sites on esoteric languages. However I don't think of FORTRAN as sophisticated... LISP perhaps:-)

      2009-05-26 Tue May 26 11:54 The Tao of Programming

      In the computer world we often express thoughts using HHOS -- Ho Ho Only Serious. Kyle sent me this [ tao-of-programming.html ] and it is funny, but there is also hard earned wisdom and some incomprehensible bits.

      By the way..... this just came in my EMail

    8. Tcl::= See http://www.computerworld.com.au/article/301772/-z_programming_languages_tcl

      2009-05-12 Tue May 12 14:44 The Language Erlang

      I've just updated my notes on a language called Erlang: [ ../samples/languages.html#Erlang ] (you don't need to learn anything about Erlang for this class but it is an interesting example of "functional" programming.

      2009-05-07 Thu May 7 16:01 Codepad for trying out languages

      Tim Eason sent me to [ http://codepad.org/ ] which has a dozen languages ready to be tried out. So far I've only spotted one error (in Scheme).... I'm "rbotting" on it.

      2009-05-06 Wed May 6 06:57 Plain English Programming

      Sao Thao pointed me to [ http://www.osmosian.com ] that claims to make programming in English a possibility. After a Google search for Osmosian I got the following data
      1. It looks legit.
      2. they were rather fanatical.
      3. no updates since 2006
      4. actually a mixture of Logo and HyperTalk (Apples scripting language for HyperCard).
      5. real programmers react very badly to it -- possibly bcuas thay kant spel :-)
      6. I like some of the ideas...
      7. If they are not careful they will get Cobol
      8. The nicer the window dressing, the less there is on sale:-)

      2009-04-20 Mon Apr 20 13:05 Interviews about Programming Languages

      This [ -z_programming_languages_falcon ] might provide some entertaining sidelights on some of the things we are doing in ths class.

      2009-04-17 Fri Apr 17 13:25 Philosphers and Programming Languages

      If you have ever wondered what programming language Aristotle used you could read [ if-philosophers-were-programmers.html ] to get one view....

      Personally I find C++ and Java highly Aristotlean....

      2009-04-08 Wed Apr 8 12:12 Groovy -- the new language

      [ http://groovy.codehaus.org/ ]

      2009-04-07 Tue Apr 7 12:32 Languages we want to avoid...

      [ esoteric.shtml ]

      2007-11-02 Fri Nov 2 14:11 History of Programming Languages Chart

      O'Reilly have done it again. A nice history chart [ prog_lang_poster.pdf ] (Big PDF).

      2007-08-21 Tue Aug 21 14:08 Updated Consumers guide to Languages

      See [ cars.html ] (Thanks David!) and compare with [ consumers.html ]

      2007-06-06 Wed Jun 6 10:06 Prolog fixes

      Last night in the lab I discovered that the machines in JBH359 have a shiny new SWI Prolog installed on them. It has a neat GUI help system..... And it understands more arrow keys. You can run it with the command
      (and so this is the default plthat you will normally get if you don't use Q).

      However they have moved the language closer to Quintus Prolog and Gnu Prolog. The first consequence is that if you want a prdicate to change as the program runs you must declare that it is dynamic before you actually place any predicates in the data base. SOme of my examples (4th.plg) didn't do this. So I've just editted them and reuploaded them.

      The other cosequence of the upgrade is that a rather usful predicate called select has changed its definition. I use it mainly to generate permutations:

      This works by selecting each element Y out of list X leaving the rest of the list in R. So select([1,2,3], Y, R) generates these alternatives:

      (Close Table)
      Now Quintus Prolog has a different definition with the parameters X and Y are in a different order:
      On the other hand they have permutation already defined so replacing the two line definition of perm by
      is a quick fix.

      By the way... the /usr/bin/pl isn't on jbh3-1 the SSH server:-(

      I guess I'll have to add fixing this to my list of fun jobs for the summer.

      2007-04-23 Mon Apr 23 11:04 A Windows Version of Dia

      Andrew Murphy reccommends [ http://dia-installer.de/ ] , he write "I found a windows version of Dia (requires GTK 2.6) that runs pretty well and is great for groups that can't make it to the lab."

      2007-04-12 Thu Apr 12 11:04 Resource for learning HTML XML etc W3Schools

      Rigo gave me this [ http://w3schools.com/ ] and it looks (1) very useful, and (2) too detailed for CSCI320.

      2007-04-09 Mon Apr 9 13:04 Question about Ruby from CS320 Alumni

      The following cam in from Victor who took CS320 some years ago.
        I also had a quick (maybe) question for you about Ruby. I'd like to get a hold of a good Ruby compiler to install on a Linux machine. I don't have Admin privileges though, so I'm hoping to run it from my home directory. I need it for a program called Tioga which uses Ruby to install and plots Stellar evolution data in beautiful ways I haven't seen before using pdf and latex tools working together with Ruby I think. I read on the web "37 things I love about Ruby" and the programming language sounds too good to be true lol. I never heard of a "very-high level language (VHLL)" which it claims to be.

      Does any body know a good Ruby compiler/interpreter for users on a Linux system? Email me and I'll pass it on to Victor.

      By the way, another alumni of CSci320 contributed to [ phalanger-intro.asp ] an article on a .NET system for PHP called Phalanger. The Code Project website [ http://www.codeproject.com/ ] looks like a good resource if you are into developing software for the MicroSoft Platforms.

      2007-01-31 Wed Jan 31 15:01 Fortress and FORTRAN

      Fortress a big jump on Fortran [ 0,7204,21124560%5E15321%5E%5Enbv%5E,00.html ]
        Barbara Gengler JANUARY 30, 2007

        REMEMBER Fortran? Sun Microsystems is developing a follow-up programming language that may drive high-performance computing in the future.

        The prototype Fortress, released as open-source software, is intended to take the place of Fortran.

        Sun also released a series of draft specifications of the language and published formal calculi and soundness proofs of several of the core language features.

      2007-01-22 Mon Jan 22 14:01 Java and the Kitchen Sink Language

      This just in from the Assoc of Computing Machinary:
        Sun Microsystems has announced that it will open-source its new Java compiler, Javac, through a project known as the Kitchen Sink Language (KSL), which will allow programmers to play around with the language in hopes of obtaining data on which to base debates concerning the dynamic language. Javac lead tech Peter von der Ahe says, "I see a lot of proposal for enhancing the language and our team has to turn down most. So how can we experiment?" KSL, a Sun incubator project created by Java creator and Sun Fellow James Gosling, is a forum that will let programmers evaluate the language "by using [it] on their own code," rather than reading abstract specifications and proposals, according to von der Ahe. He understands the potential for chaos that KSL could bring to the language, so he explains that Sun must be "conservative" when evaluating features to implement. In a Jan. 8 blog post, Gosling said, "I've never been real happy with debates about language features. I'd much rather implement them and try them out." Though some took this to mean that Gosling did not like any debate on the subject, he clarified himself by explaining that he did not approve of debate when it was separated from "experiment and data," and that KSL will provide this type of scientific foundation for debating features.

      [ 0,1759,2081936,00.asp ] ( eWeek (01/15/07) Vol. 24, No. 2, P. 16; Taft, Darryl K.)

      2007-01-19 Fri Jan 19 09:01 Website runs your code -- BASIC Pascal Perl C++

      David Cumbow (CS320 last spring) sent me a link [ http://www.codeide.com/ ] to a web site that lets you input a piece of cade and compile/run it!

      Don't know how good it is.... but what a cool idea.

      Meanwhile, news of the language D

      [ 3652176 ]

      2006-12-20 Wed Dec 20 10:12 Modula and Ada in Dr. Dobbs

      Interesting: [ modula2_modula3.html;jsessionid=YCQUJCWU350MWQSNDLRCKH0CJUNN2JVN ] (Modula-2, Modula-3, Whatever. ) [ lets_hear_for_t.html ] (Let's hear it for Ada)

      2006-12-01 Fri Dec 1 13:12 Decline in Visual BASIC Questioned

      CSci320 is about different languages. New languages are being created all the time. And yesterday's "great" language starts to slide into museum status...

      [ 0,1895,2065392,00.asp ]

      I'll be starting renovating the cs320 web site ready for the Winter Quarter 2007 "Real Soon Now".

      2006-11-28 Tue Nov 28 13:11 Popular languages list

      From David Cumbow -- a 320 alumni:
        Thought you might like this for your 320 class. Also for our Senior Seminar so people can know what is out there and is popular...

        [ index.htm?tiobe_index ]

    . . . . . . . . . ( end of section CS320 High-Level Computer Languages Sping 2007) <<Contents | End>>

( End of document ) <<Contents | Top