[Skip Navigation] [CSUSB] / [CNS] / [Comp Sci & Eng Dept] / [R J Botting] /[CS320 Course Materials] /index.html [index.txt(Text)] [Search ]
Mon Dec 14 12:40:41 PST 2009
[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).

Contents


    CSci320 High-Level Computer Languages Spring 2007

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

      [Edwards09]

      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

      [BiancuzziWarden09]

      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) impxporve his COBOL, and (2) produce ielegant COBOL code that is downright ugly in any other language.

      2009-06-22 Mon Jun 22 09:58 Grades on web site

      [ grading/ ]

      2009-06-12 Fri Jun 12 09:09 Unreturned homework

      I have some home work that has been graded and needs returning. Please see me before the final so that you can add it to your notes for the final.

      2009-06-11 Thu Jun 11 09:23 questions about language presentation

        Here are some replies to emailed questions on tonights presentation.

        How much time do we have

        We have 8 teams and 75 minutes... so 8 minutes per presentation.

        How much detail in the syntax and semantics

        You do not have time to present the complete syntax (which becomes boring any way). So only show what is special.... so the most important of the changes from the baseline -- SOOP. And talk about it. DO not recite it. The full detailed syntax belongs in the LRM.

        Similarly don't show a gigantic single slide with all the UML on it. It will be unreadable and confusing. Present highlights and keep the whole thing for the LRM.

        In our UML diagram we have an Operator class should we list the operators as attributes or operations

        NO! Neither.

        Suppose your language has the concept ComparisonOperator. Then there should be a ComparisonOperator in the UML semantics. It would be a bad mistake to list its instances as attributes. It is just silly to say that '<' is a comparison and has a '<' attribute.

        Neither should you say that each Comparison operator has the ability to do all the comparisons. So you must not list all the operators as operations inside the class.

        Why list them at all? What is important about them is that they all provide an operation that compares two items and returns a Boolean.

        The best solution is to list them in your report and perhaps add a comment listing the ComparisonObjects.

        Only if you have room and really want to workout the detailed semantics would you draw a special class for each special kind of ComparisonOperator. LessThan ---|>ComparisonOperator<|-----GreaterThan. This might be good in the LRM. But not in a presentation.

        As I said the best solution is to not do anything.... and if anyone asks write the list of operators on the board. Say "That is is in the LRM".

        Is there any way to list the instances of a class in a class diagram

        The UML has the steretype <<enumeration>> -- like an enum in C++ or Java. This is only used when you have a small number of simple values as instances. For example: the three colors in a traffic light, the two boolean values, ....

        Syntactically this may be OK but semantically it is often wrong. The meaning has to be supplied as an operation and would be written up in the LRM rather than shown in a UML diagram.

      2009-06-05 Fri Jun 5 13:01 Grades posted and ready for next week

      I've posted the latest [ grading/ ] and we should be ready for class/lab19 on Logic Programming.

      Also the web site seems to be working.

      If you've missed any handouts or graded work -- check by my office or ask in class.

      2009-06-02 Tue Jun 2 13:32 Please Test Contact button

      Could someone try my [Contact] button (or [ contact.html ] ) to see if my quick fix works?

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

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

      2009-05-30 Sat May 30 07:33 Contact button dies during upgrade

      Use CSUSB EMail to contact me until this is fixed.

      2009-05-29 Fri May 29 13:09 Grades posted

      [ grading/ ]

      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.

      2009-05-22 Fri May 22 13:31 Grades posted... Tuesday for Java

      [ 15.html ]

      2009-05-21 Thu May 21 09:41 Improved and tested tonites lab

      Todays class [ 14.html ] is all about Abstract Data Types, Specifications, Interfaces, and Implementations.

      I've just finished improving the lab [ lab/14.html ] ready for tonight.

      2009-05-15 Fri May 15 14:08 Grades posted....

      [ grading/ ]

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

    1. 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-12 Tue May 12 11:21 Seminars

      We've now got 4 seminars scheduled ... and more expected:
      Table
      DayDateEvents
      FMay 15Seminar 10:30am Visiting Speaker [ seminar/20090515JimJones.txt ]
      ThMay 21Seminar 2pm Sean Lo MS Project Presentation [ seminar/20090521SeanLo.txt ]
      ThMay 21Seminar 3:30pm Nabeel MS Project Presentation [ seminar/20090521NabeelAlzahrani.txt ]
      FMay 22Seminar 10:30am Visiting Speaker [ seminar/20090522YateChingYuan.txt ]

      (Close Table)

      2009-05-08 Fri May 8 10:55 Grades posted

      [ grading/ ]

      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 11:25 Back to normal

      I've just tested my "mailme.php" scripts and they are operational again.

      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-05-05 Tue May 5 11:02 Server crashed on Monday

      The web server went down yesterday. I've restored as much of the CS320 web site as I can.... But some [Buttons] on these pages do not function. You can search OK. But you can not use the [Contact] button to send me a message.

      This will be fixed -- probably by tonight.

      Meanwhile use EMail to my CSUSB address and put

       	CS320
      at the start of the subject.

      2009-05-01 Fri May 1 11:16 More Grading posted

      [ grading/ ]

      The next class is [ 09.html ] on Tuesday and is about statements and control structures: if_then, while, for, and many others. Study Chapter 8 but omit "Guarded Commands" which won't be on the final or in any labs.

      2009-04-24 Fri Apr 24 13:25 Grades posted...

      [ grading/ ]

      Next topic -- data types [ 07.html ] adn study chapter 6.

      Project Phase 1, Iteration 1 is due at the start of class.

      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-17 Fri Apr 17 11:47 First grades posted

      Go to [ grading/ ] and input your three letter "PinWord" to see how you are doing and spot errors. Let me know if something is wrong!

      Preparation for next class -- study the handout on UML [ handouts/cs320wuml.html ] and answer the review questions at the end.

      Start to think about your project!!!!

      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 ]

      2009-03-26 Thu Mar 26 17:28 Fixing the search

      Some how I "munged" the common header on the web pages in this directory..... but now you can input some term -- for example "loop" -- and see a collection of references for this course. Enjoy.

      2009-03-22 Sun Mar 22 12:14 Draft schedule and syllabus ready

      I've got my first rough draft schedule [ schedule.html ] on the web. Typically it has two or three typograchical errors. Please check the dates in particular. THis schedule will change if there are any emergencies that lead to classes being cancelled.

      I've also got a rough cut [ syllabus.html ] that explains the detals of the work to be done and the grading I will be using. Again please review this for errors.

      If we don't meeet before.... see you in the first class on Tuesday April 7th.

      2009-03-19 Thu Mar 19 13:28 Room for 15 more people

      The classroom will be changed to TC10 with 45 seats, and we will run the lab in two parallel sections in JBH356 and 358...

      So the class should be open for enrollment Real Soon Now!

      2009-03-16 Mon Mar 16 07:05 Reopening class

      I've been negotiating with the department to move CS320 to a larger classroom and to run two parallel laboratories after class each night -- with a virtual me in the other lab.... This will allow more people to take the class.

      More when I have the details from the department.

      2009-02-18 Wed Feb 18 14:02 Text Book Details

      The Required text is

      Sebesta

      1. Robert Sebesta
      2. Concepts of Programming Languages, 8th Edn
      3. Addison-Wesley ISBN 0321493621
      [ text.html ]

      Avoid previous editions (first thru 7th) they may not match, and the field is still developing. On the other hand a used 8th edition or a cheap one should be OK.

      2009-02-17 Tue Feb 17 06:02 Spring 2009

      I'm looking forward to teaching CSCI320 in the spring quarter 2009.

      We will use the latest edition of Sebesta and use a very similar structure, sequence, as last time..... just the dates and the languages will have changed.

      I'll be updating this closer to the spring break.

      2007 -- redacted

      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-17 Sun Jun 17 16:06 Draft grades published

      [ grading/ ]


      Table
      DistributionA/A-B+/B/B-C+/C/C-D+/D/D-F
      Frequency116901

      (Close Table)

      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
       		/usr/bin/pl
      (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:

       	perm([],[]).
       	perm(X,[Y|Z]):-select(X,Y,R),perm(R,Z).
      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:
      Table
      YR
      1[2,3]
      2[1,3]
      3[1,2]

      (Close Table)
      Now Quintus Prolog has a different definition with the parameters X and Y are in a different order:
       	perm([],[]).
       	perm(X,[Y|Z]):-select(Y,X,R),perm(R,Z).
      On the other hand they have permutation already defined so replacing the two line definition of perm by
       	perm(X,Y):-permutation(X,Y).
      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.

      2007-03-07 Wed Mar 7 14:03 Template for final

      [ template.pdf ]

      By the way, an 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