.Open Resources . General (search_engine): .See http://www.csci.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://www.csci.csusb.edu/dick/HTML_quick.html and Glossary .See http://www.csci.csusb.edu/dick/samples/comp.html.glossary.html (color):Colors in HTML and Java .See http://www.csci.csusb.edu/dick/samples/comp.html.syntax.html#Colors also in general .See http://www.csci.csusb.edu/dick/samples/color.html HTML Primer .See http://www.csci.csusb.edu/dick/HTMLPrimer.html and guide to URLs .See http://www.csci.csusb.edu/dick/URL_guide.html Syntax of HTML .See http://www.csci.csusb.edu/dick/samples/comp.html.syntax.html Notes from an HTML Workshop .See http://www.csci.csusb.edu/dick/html.workshop.html .See http://www.csci.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://www.csci.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://www.csci.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 AppleWorks 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". Handout .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: .See http://www.lispme.de/lispme/ . 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://www.csci.csusb.edu/dick/samples/java.html .See http://www/dick/java.www.sites.html + examples .See http://www/dick/cs320/java/ .See http://ftp.csci.csusb.edu/public/faculty/dick/ + $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://www.csci.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 The Algorithm Authoring and Animation .Key AlgorithmA tool/language .See http://ftp.csci.csusb.edu/public/class/cs455 developed by senior CompSci students. 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/ . Examples By Language .See http://www/dick/cs320/ada/ , . . . .See http://www/dick/cs320/c/ , . . . .See http://www/dick/cs320/c++/ and .See http://www/dick/samples/c++.html , . . . .See HTML , . . . .See Java and .See http://www/dick/samples/java.html , . . . .See http://www/dick/cs320/lisp/ and .See http://www/dick/samples/lisp.html , . . . .See http://www/dick/cs320/ml/ , . . . .See http://www/dick/cs320/other/ , . . . .See http://www/dick/cs320/pascal/ , . . . .See http://www/dick/cs320/prolog/ and .See http://www/dick/samples/prolog.html , . . . .See http://www/dick/cs320/scheme/ , . . . .See http://www/dick/cs320/shell/ , . . . .See http://www/dick/cs320/smalltalk/ , . . . .See http://www/dick/samples/uml.html , . . . .See http://www/dick/cs320/unix/ , . . . .See http://www/dick/cs320/z/ , . . . . Examples for Particular Problems Hello World .See http://www/dick/cs320/sebesta/02.html Store 100 'a's in a string: .See http://www/dick/cs320/100as 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 .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 . Reference The following link seems to be a comprehensive and accurate guide to the speech of computer people every where: .See http://www.tuxedo.org/~esr/jargon/html/The-Jargon-Lexicon.html and is also funny. .Close Programming Languages .Close Resources