CMSC 433, Michael Hicks, Univ. of Maryland1CMSC433, Fall 2002Programming Language Technology and Paradigmswww.cs.umd.edu/class/fall2002/cmsc433-0201Michael HicksSeptember 3, 2002CMSC 433, Fall 2002 -Michael Hicks2Course GoalsTo make you a better programmer•Deconstruct relevant programming problems•Solve them in an object-oriented style, focusing on–Reusability–Maintainability (clarity)CMSC 433, Fall 2002 -Michael Hicks3Style•Interaction–This is your course: what do you want to learn?•Discussion–Not just professor/TA to student, but student to student, with regard to ideas, techniques, and solutions•Learn by doing–If you don’t put effort into the programming projects, you will learn very littleCMSC 433, Fall 2002 -Michael Hicks4Approach•Methods and styles of (sequential) object-oriented (OO) programming. –abstraction, particularly in the use of interfacesand –design patternsto improve reusability and reliability –will use the Java programming language exclusively–homework projects will build on each other •Principles and practice of concurrent OO programming. Will cover the two main forms of concurrency:–shared-memory multi-threading (Java Thread class), and –distributed message passing (Java Remote Method Invocation ) CMSC 433, Fall 2002 -Michael Hicks5Topics• Java (end of next week)•Programming techniques and tools•Object-oriented design for sequential programs–OO principles–design patterns•Concurrency –concurrent programming in Java–design patterns •Distributed programming –distributed programming in Java–design patternsCMSC 433, Fall 2002 -Michael Hicks6Textbooks•Primary Texts–Bruce Eckel, Thinking in Java (2nd Edition), Prentice Hall, 2000•Java primer•A complete copy of the book can be downloaded for free–Doug Lea, Concurrent Programming in Java (2nd Edition), Addison Wesley, 2000•Secondary Texts–Joshua Bloch, Effective Java: Programming Language Guide, Addison Wesley, 2001•All on reserve in the CS library•See web page for more useful resourcesCMSC 433, Michael Hicks, Univ. of Maryland2CMSC 433, Fall 2002 -Michael Hicks7Class Accounts•We will have accounts on CSIC machines–Linux cluster; RedHat 7.3-based–Lab is in room 3107 CSIC•Class accounts will be emailed–to the email account registered with UMEG•so make sure you check or forward that account!–if you don’t receive an account by Tuesday, talk to TACMSC 433, Fall 2002 -Michael Hicks8Software•Will be using Java 1.4–http://java.sun.com/j2se/1.4/docs/api/index.html•May wish to use the Dr JavaIDE–Installed on all CSIC machines–http://drjava.sourceforge.net/•Will make use ofJUnittesting package–Starting with hw #2, will include unit tests–http://junit.sourceforge.net/doc/testinfected/testing.htmCMSC 433, Fall 2002 -Michael Hicks9Projects•Focus on server applications–Encourages modular, abstract design–Admits natural use of concurrency and distribution–Relevant in our connected society•Start small and build up–Develop a sophisticated family of software by course’s endCMSC 433, Fall 2002 -Michael Hicks 10Project Submission•Projects due at 6pm on due date–by Unix time of day–you must submit a good-faith effort•you can be failed for the course if you do not•Use online submission procedure–Submit early and often–Can provide recovery from previous submit–Details provided laterCMSC 433, Fall 2002 -Michael Hicks 11Project Commentary•After the projects are graded, you will be emailed two other (anonymized) submissions–respond with commentary on each with regard to the goals and techniques we are teaching–you will be graded on the usefulness of your commentaryCMSC 433, Fall 2002 -Michael Hicks 12Tentative Grading Plan126#% total% each508.33Projects2020Final3015Mid-termsCMSC 433, Michael Hicks, Univ. of Maryland3CMSC 433, Fall 2002 -Michael Hicks 13Discussion and Questions•Read the newsgroup –csd.cmsc433– Only visible from inside UMD–For class discussion•TA’s will read regularly, but may or may not respond. Do not expect real-time responses. This is not a substitute for coming to office hours.•NB:As in the rest of life, don’t believe everything you read!•Don’t cross the line–know the academic integrity procedure and follow it (see web page for more)CMSC 433, Fall 2002 -Michael Hicks 14Office hours•Professor Michael Hicks ([email protected])–TuWTh10:30-11:30am–Or by appointment•TA: TBD•Always posted on class webpage:–http://www.cs.umd.edu/class/fall2002/cmsc433-0201•Come prepared to provide 2 plausible answers to your questionCMSC 433, Fall 2002 -Michael Hicks 15The Waitlist (if any)•I am unlikely to accept anyone from the waitlist•But if I do, I expect to take in only:–CS undergraduate majors with GPA = 3.25 and 330 grade of B or higher–CS graduate students•Send me a note–after the first two weeks of class–with GPA, grade in CMSC 330, other infoCMSC 433, Fall 2002 -Michael Hicks 16Stay up to datehttp://www.cs.umd.edu/class/fall2002/cmsc433-0201Contains:•Lecture notes•Project assignments•Resources•And more!This document was created with Win2PDF available at http://www.daneprairie.com.The unregistered version of Win2PDF is for evaluation or non-commercial use
View Full Document