140 likes | 257 Views
Welcome to / Bienvenue à 308-203A Introduction to Computing II. Fall Session 2000. Instructor: William Renner TA: TBA Course website: http://www.cs.mcgill.ca/~cs203. Prerequisites. Official prereq: 308-202 Previous programming experience - Java: Great! - C++: OK
E N D
Welcome to / Bienvenue à308-203AIntroduction to Computing II Fall Session 2000 Instructor: William Renner TA: TBA Course website: http://www.cs.mcgill.ca/~cs203
Prerequisites • Official prereq: 308-202 • Previous programming experience • - Java: Great! • - C++: OK • If not familiar with Java or C++, see me
Things you should knowsomething about already • Variables and data types (e.g. ints, floats, chars) • Arrays • Loops • Procedures and Functions • (and arguments and return values) • What is a reference (or pointer)
Things we will explore • Development of clear, reusable code by OOP • Design and implementation of software systems • A basic toolbox of algorithms and data-structures • Analysis of computational complexity
Syllabus I. Introductory material -Review of Java Programming -Object-Oriented Programming II. Basic Data-Structures and Algorithms - Lists/stacks/queues - Big O notation - Trees, searching and sorting - Graphs III. Advanced topics (as time allows) - Concurrency and deadlock - A smidgeon of AI
Grading Scheme • Bi-weekly assignments (20%) • Mid-term exam (20%) • Final exam (30%) • Project (30%)
Bi-weekly homework • Written questions hand in on paper only • Programming questions • Hand in as hardcopy: • - printout of .java files • - test-cases to show correctness! • Hand in on diskette • - .java/.class files and test cases • Place in box outside MC100N Assignments
Project Phase I: (tentatively due around Nov 1) Creation of a software module of moderate size Phase II: (due at the end of the term) Integration of several software modules into a functioning software system
Exams Mid-term exam • Tentatively ~mid-October • 20% of final grade Final exam • As scheduled by the Department • 30% of final grade
JDK http:// www.java.sun.com • KAWA http://www.tek-tools.com/kawa/ • You’re your own consultant!! Programming at McGill • Computer lab McConnell 106N • Java/KAWA pre-installed • Friendly, smiling lab consultants on duty Programming at home
Compiler (javac) - javac foo.java • - source code (foo.java) object code (foo.class) • Virtual machine (java) • - java foo [arguments…] • - runs the code • Debugger (jdb) • - jdb foo • - lets user control execution of foo with commands • to step through lines of code and inspect variables JDK Tools
Integrated DevelopmentEnvironments (IDEs) Tools which integrate development resources in a clear and intuitive GUI (Graphical User Interface), i.e. with windows, menus, dialog boxes etc.. • Text editor • Compiler • Debugger • Version management • Search and other utilities The alternative: invoke javac, java, jdb as well as emacs, cvs, grep, etc. or equivalent tools from a Unix or DOS command shell (yuck)
Some IDEs for Java • KAWA (Tek-Tools) • Forte for Java (Sun) • JBuilder (Borland) • Visual Café (Webgain) • Code Warrior (Metrowerks)