.Open Resources . General (search_engine): .See http://cse.csusb.edu/dick/cs320/lookup.php (FAQ): Frequently Asked Questions (with answers) for the dept: .See http://www/dick/doc/CS_FAQ.html and for this class (old) .See http://www/dick/cs320/cs320.FAQ.html and in general: .See http://www/dick/doc/ (publishing): .See http://www/dick/publishing and .See HTML (the final): Each class except the first will give you practice at answering final questions, and the format is (Winter 2004) like this .See template.pdf for instance. . Syntax Description BNF::metalanguage="Backus Naur Form", grandparent of all practical syntax description languages. $BNF was developed to describe the syntax of Algol60 and various extensions (EBNF) and variations have been used for all major programming languages since then. In CS320 we will use a special extension that is designed to work well with ASCII and discrete mathematics called XBNF. Here is a one page `cheatsheet` for XBNF: .See http://www/dick/cs320/cs320xbnf.htm , for a definition see the introduction .See http://www/dick/maths/intro_ebnf.html , for the theory .See http://www/dick/maths/intro_grammar.html , and for the general form .See http://www/dick/samples/math.lexicon.html .See http://www/dick/samples/math.syntax.html , and samples .See http://www/dick/samples/ of XBNF. .Open HTML HTML::markup_language="HyperText Markup Language". Generic download-edit-and-publish pages: .See http://www/dick/cs320/template2.html .See http://www/dick/cs320/template1.html .See http://www/dick/cs320/template3.html Hints: .See http://www/dick/cs320/portfolios.html .See http://www/dick/publishing HTML Quick Reference .See http://cse.csusb.edu/dick/HTML_quick.html and Glossary .See http://cse.csusb.edu/dick/samples/comp.html.glossary.html (color):Colors in HTML and Java .See http://cse.csusb.edu/dick/samples/comp.html.syntax.html#Colors also in general .See http://cse.csusb.edu/dick/samples/color.html HTML Primer .See http://cse.csusb.edu/dick/HTMLPrimer.html and guide to URLs .See http://cse.csusb.edu/dick/URL_guide.html Syntax of HTML .See http://cse.csusb.edu/dick/samples/comp.html.syntax.html Notes from an HTML Workshop .See http://cse.csusb.edu/dick/html.workshop.html .See http://cse.csusb.edu/dick/papers/rjb94c.html.html and HTML Tips .See http://www.axismundi.org/Cf/spiraea/amigaphil/bugsEN.html#tips Pointers to yet more WWW resources .See http://cse.csusb.edu/dick/www.html .Close HTML . UML UML::modeling_language="Unified Modeling Language". The Universal Modeling Language will be used to help explain semantics and for the analysis and design of compilers and intepreters in this class. Here is an over-view of the language: .See http://cse.csusb.edu/dick/samples/uml0.html plus some detailed notes for CS320: .See http://www/dick/cs320/handouts/cs320wuml.html and a set of detailed notes: .See http://www/dick/samples/uml.html Before handing the prokject checkout: .See ./umlmistakes.gif .See ./UMLErrors.pdf mistakes people make trying to translate $EBNF into the $UML. . dia If you have problems with Rational Rose you can try a simpler and free `dia`gramming tool. It is available on our workstations and you can download it onto your own computer (Windoze or Linux) for free. Mac users have Pages already. On our system input this command .As_is dia& into a terminal window. It may also be in a menu from the panel at the bottom of the screen. The Gimp is a handy tool for converting things on your screen into graphic files to put on WWW pages. On Windoze I use SnagIt for this job. . LISP LISP::programming_language="List Processing". Handouts 2012 .See ./LISP.pdf .See ./guile.pdf -- Older .See http://www/dick/cs320/handouts/320wlisp.html , specification and points: .See http://www/dick/samples/lisp.html , and examples and source code: .See http://www/dick/cs320/lisp/ LISP for a Palm/WebOS: .See http://www.lispme.de/lispme/ Ramblings on LISP as a better mark up language .See http://www.defmacro.org/ramblings/lisp.html . Scheme -- Guile As of 2012 we have a Scheme interpreter called `guile` on our workstations and servers. See .See ./guile.html . Prolog The PROgramming in LOGic language: .See ./handouts/prolog.pdf , .See http://www/dick/samples/prolog.html , and .See http://www/dick/cs320/prolog/mbox (Selective SWI prolog mailing list archive) plus .See http://www/dick/cs320/prolog/ (lots of examples) and a set of tutorial lab experiments: .See http://www/dick/cs320/lab/18.html .See http://www/dick/cs320/lab/19.html .See http://www/dick/cs320/lab/20.html Get your own copy of SWI-Prolog: .See http://www.swi.psy.uva.nl/projects/SWI-Prolog/ . Java Java::programming_language, developed by Sun for toasters, networked devices and so the WWW. .See ./java.pdf .See http://cse.csusb.edu/dick/samples/java.html .See http://www/dick/java.www.sites.html + examples .See http://www/dick/cs320/java/ + using $color in HTML and Java. Sun has published .See http://java.sun.com/docs/books/tutorial/index.html , an excellent tutorial on the practice of Java. (Java_classes): The Java Application Programing Interface(API) is large and growing. For 1.4.2 API see .See http://java.sun.com/j2se/1.4.2/docs/api/index.html and for 1.5.0 .See http://java.sun.com/j2se/1.5.0/docs/api/index.html (due Summer of 2004). Also see my rough introduction to some commonly used classes and interfaces .See http://cse.csusb.edu/dick/samples/java.classes.html .Open Programming Languages . Pointers to Language Sites .See http://www/dick/samples/languages.html .See http://www.uni-karlsruhe.de/~uu9r/lang/html/lang.en.html .See http://www.quetek.com/dictionary/random-programming-languages.html Scripting languages: .See http://www.scriptics.com/people/john.ousterhout/scripting.html (With thanks to Kevin Hagel). . FORTRAN .See http://www.faqs.org/faqs/fortran-faq/ .See http://www.ifremer.fr/ditigo/molagnon/fortran90/engfaq.html .See http://www.lahey.com/ .See http://www.fortran.com/ .See http://www.gnu.org/software/gcc/gcc.html .See http://www.fortranlib.com . COBOL .See http://www.infogoal.com.cbd/cbdhome.html .See http://www.cobolportal.com/ .See http://home.swbell.net/mck9/cobol/ooc.html .See http://www.cobolostandards.com/ .See http://www.flexus.com/index.html .See http://cobolforgcc.sourceforge.net/ .See http://www.csis.ul.ie/COBOL/ .See http://www.geocities.com/Eureka/2006/ring.htm (COBOL User Groups COBUG): COBUG provides the COBOL community with a comprehensive web site that contains current references to COBOL user groups, compilers, code samples, COBOL jobs, and many other COBOL programming resources. We are committed to developing COBOL user groups and providing an information resource for the COBOL community. We currently have more than 700 members and 12 user groups worldwide. The COBOL community benefits from our local COBOL user groups, web site, forums, and peer support. .See http://www.cobug.com/ . Basic .See http://www.geocities.com/KindlyRat/GWBASIC.html .See http://www.geocities/rhinoc/gwbasic.html .See http://scottserver.net/basically/geewhiz.html .See http://www.scottserver.net/forum/viewforum.php?f=7 . Pascal .See http://www.pascal-central.com/ .See http://www.merlyn.demon.co.uk/pascal.htm .See http://tp-programmers.i8.com/ .See http://www.allegro.com/papers/htpp.html .See http://www/dick/cs320/pascal/ . APL .See http://www.chilton.com/~jimw/Welcome.html .See http://www.users.cloud9.net/~bradmcc/APL.html That spawned .Key J .See http://c2.com/cgi/wiki?JayLanguage for normal keyboards. . PL/I .See http://home.nycap.rr.com/pflass/pli.htm .See http://www.users.bigpond.com/robin_v/resources.htm .See http://www-306.com/software/awdtools/pli/ . Ruby We have a ruby interpreter on our lab machines .As_is ruby name.rb .As_is ruby -e 'command' . Examples By Language (Ada examples): .See http://www/dick/cs320/ada/ (C examples): .See http://www/dick/cs320/c/ (C++ examples): .See http://www/dick/cs320/c++/ and .See http://www/dick/samples/c++.html (HTML examples): .See HTML (Java Examples): .See Java and .See http://www/dick/samples/java.html , . . . .See http://www/dick/cs320/lisp/ and .See http://www/dick/samples/lisp.html (ML examples): .See http://www/dick/cs320/ml/ (other language examples): .See http://www/dick/cs320/other/ (Pascal examples): .See http://www/dick/cs320/pascal/ (Prolog examples): .See http://www/dick/cs320/prolog/ and .See http://www/dick/samples/prolog.html (Scheme examples): .See http://www/dick/cs320/scheme/ (shell examples): .See http://www/dick/cs320/shell/ (Tiny SmallTalk examples): .See http://www/dick/cs320/smalltalk/ (UML examples): .See http://www/dick/samples/uml.html (Unix examples): .See http://www/dick/cs320/unix/ (Z examples): .See http://www/dick/cs320/z/ , . . . . Examples for Particular Problems Hello World .See http://www/dick/cs320/sebesta/02.html A Simple cryptogram: .See http://www/dick/cs320/crypto Generate Prime Numbers: .See http://www/dick/cs320/primes .See http://www/dick/cs320/sieve An Abstract Data Type: .See http://www/dick/cs320/stacks Calculate Statistics: .See http://www/dick/cs320/stats Exploring recursion using Fibonacci numbers .See ./fibonacci .Close Programming Languages . Similar Courses World-Wide .See http://www.engin.umd.umich.edu/CIS/course.des/cis400/ (many examples in different languages but not very accurate). .See http://www.cs.iastate.edu/~leavens/teaching-prog-lang/Undergraduate.html .See ftp://ftp.pepperdine.edu/pub/compsci/curriculum/ (PDF) .See http://www.cs.williams.edu/~kim/cs334/CS334.html . Manuals in PDF -- ebooks --- iBooks This section will contain links to PDF versions of the handouts and LRMs for this class. It seems likely you can download them and read them with an ereader in many PDAs/Pds/Pads/etc. Some readers can handle the ".txt" versions of all the pages on this web site. This is experimental and incomplete: .See ./BNF.pdf , .See ./java.pdf , .See ./LISP.pdf , .See ./oj.pdf , .See ./prolog.pdf or .See ./handouts/prolog.pdf , .See ./smallawk.pdf , .See ./UML.pdf and .See ./UMLErrors.pdf , $TBA. . Reference to Jargon and Jokes The following link seems to be a comprehensive and accurate guide to the speech of computer people every where: .See http://catb.org/jargon/html/ and is also funny. You can get the history here .See http://en.wikipedia.org/wiki/Jargon_File on the Wikipedia. .Close Programming Languages .Close Resources