CS 200 - 001 Fall 2005 Instructor: Oliver Chen Office: LA 842 Email: ochen@msubillings.edu Phone: 657-2969 Office Hours: M - Th: 9:20-10:20 Text: Applet And Data Structures Oriented Java Programming with Cojava by Yenn-Kunn O. Chen Course Content: Grades: Weeks I - III IV – VI VII – IX X – XII XIII – XV Chapters 1-2 3-4 5-6 7-9 10 - 12 Homework (30%) : To be announced in class. Midterm (30%) : There will be two midterms. Midterm 1 will be on Oct. 6th 2005 Midterm 2 will be on Nov. 10th 2005 Final (40%) will be on Dec 12th 2005 2:00-3:50 P.M. Note: Regarding student confidentiality, if you want your final exam back, please give me a self-addressed, stamped envelope before the final exam. Academic Support Center Writing and Math Lab: Monday – Thursday 8 A.M. to 8 P.M. Friday 8 A.M. to 5 P.M. Saturday 9 A.M. to 12 P.M. SYLLABUS Title: Advanced Topics in Computer Programming Number: CS 200 Catalog Description: COMP 200 Advanced Topics in Computer Programming (TN) 4cr. Prerequisite: COMP 102 and Math 113. Computer language Java and software development tool Cojava will be used as the vehicles to introduce applet and its application to computer representations of various important concepts and their applications. Course Goals and Purposes: The goals and purposes of this course is to use Java and Cojava to develop programs that implement and apply computer representations of sets, theorem proof and logic programming, permutations and combinations, matrix theory and its applications, number theory and its applications, probability theory and its applications, and graph theory and its applications. Course Outline : 1 NONE-DIMENSIONAL APPLETS WITHOUT INPUT OR WITH INPUT FROM FILES OUTSIDE PAGE GRAPHICAL OUTPUT ON ITS WINDOW 1.1 Preliminary 1.2 Introduction 1.3 Applets with none-graphic output and without input 1.4 Applets with outside-page input and none-graphic output 2 NONE-DIMENSIONAL APPLETS WITH INPUT EMBEDED IN CODE AND PRIMITIVE DATA TYPES 13 2.1 Introduction 2.2 None-dimensional applets with input embedded in code and output on the status field of the browser 2.3 None-dimensional applets with input embedded in code and output on pop-up windows 3 NONE-DIMENSIONAL APPLETS WITH INPUT FROM ITS PARAMETERS AND DATA STRUCTURE ONE-DIMENSIONAL ARRAYS 3.1 Introduction 3.2 None-dimensional applets with input from its parameters and output on the status field of the browser 3.3 One-dimensional arrays 3.4 None-dimensional applets with input from its parameters and output to pop-up windows 3.5 Class Comparator And Sorting 3.6 Class Arrays 4 NONE-DIMENSIONAL APPLETS WITH INPUT FROM POP-UP WINDOWS AND DATA STRUCTURE MULTI-DIMENSIONAL ARRAYS 4.1 Introduction 4.2 None-dimensional applets with input from pop-up windows and output to the status field of the browser 4.3 Two dimensional arrays 4.4 None-dimensional applets with input from pop-up windows and output to pop-up windows 4.5 Multi-dimensional arrays 5 MENU DRIVEN NONE-DIMENSIONAL APPLETS AND ARRAY CONSTRUCTION USING CLASS ARRAY 5.1 Introduction 5.2 Simple menu driven none-dimensional applets 5.3 Array construction using class Array 6 DIMENSIONAL APPLETS WITHOUT INPUT OR WITH INPUT FROM FILES OUTSIDE PAGE GRAPHICAL OUTPUT ON ITS WINDOW 105 6.1 Introduction 6.2 Applets without input or with outside-page input and graphics/none-graphics output - Animation Applets 7 COLLECTIONS AND LISTS 7.1 Introduction 7.2 Collections 7.3 Lists 7.4 Lists And Sublists 8 ARRAYLISTS AND VECTORS 8.1 Introduction 8.2 ArrayList And Collections 8.3 Vector And Enumeration 8.4 Difference Between ArrayList And Vector 9 STACKS, QUEUES, AND DEQUEUES 9.1 Introduction 9.2 Stacks 9.3 Queues 9.4 Dequeues 10 LINKED LISTS 10.1 Introduction 10.2 Stack Implemented By LinkedList 10.3 Queue Implemented By LinkedList 10.4 Dequeue Implemented By LinkedList 11 SETS, HASH SETS, SORTED SETS, AND TREE SETS 11.1 Introduction 11.2 Sets and Their Operations 11.3 Hash Sets and Their Applications 11.4 Sorted Sets and Their Operations 11.5 Tree Sets and Their Applications 12 SETS, HASH SETS, SORTED SETS, AND TREE SETS 12.1 Introduction 12.2 Maps and Their Inverses 12.3 Hash Maps and Their Applications 12.4 Sorted Maps and Their Views 12.5 Tree Maps and Their Applications