Chabot College Fall 2002 Removed Fall 2006 Course Outline for Computer Science 12 ADVANCED VISUAL BASIC PROGRAMMING Catalog Description: 12 – Advanced Visual Basic Programming 2 Units Creation of advanced Visual Basic projects that include Windows common controls, error handling, mouse and keyboard events, sequential and random access files, Multiple Document Interface (MDI). Object linking and embedding (OLE), ActiveX Data Objects (ADO) data controls, accessing existing databases using both ActiveX controls and simple SQL. Object Oriented Programming concepts (OOP), creation of class modules and collections of objects. Introduction to graphics and animation. Prerequisite: Computer Science 10 or 11 (completed with a grade of C or higher). 2 hours lecture, 1 hour laboratory. Prerequisite Skills: Before entering the course the student should be able to: 1. 2. 3. 4. 5. 6. 7. recognize and identify the specific elements of Visual Basic Windows environment; specify and design the user interface for programs that use intrinsic Visual Basic controls, menus, and dialog boxes; develop algorithms for the solution of programming problems; write Visual Basic code using variables of various Visual Basic data types, structured programming constructs, arrays, subroutines, functions and sequential text files; write Visual Basic code that sets and retrieves properties, uses control structures, and uses event and general procedures and functions; enter, edit, test and debug Visual Basic programs; produce well documented, user-friendly, easy-to-read programs with well-designed output. Expected Outcome of Students: Upon completion of the course the student should be able to: 1. create advanced projects that include multiple forms, standard modules, class modules, data environments, data reports and multiple document interfaces (MDI) with child forms; 2. create projects that incorporate a full range of intrinsic controls, Windows common controls, advanced controls, control arrays; 3. use error handling routines and mouse and keyboard events and one- and two-dimensional arrays in projects; 4. write projects that manage directories, and use random access files as well as sequential files; 5. define the concept of relational database and create Data Services to an existing database using ActiveX ADO data controls and data bound controls; 6. code or set simple SQL queries; 7. create projects that both use graphics controls and draw figures using graphics procedures; 8. use the Timer control to simulate animation in a graphics project; 9. create a user-defined class module, instantiate objects of the defined class, access and manipulate these objects; 10. define the term collection, and create a collection of user-defined objects and manipulate the collection; 11. define a simple ActiveX control by extending an existing ActiveX control and use it in a project. Chabot College Course Outline for Computer Science 12 Advanced Visual Basic Programming Fall Semester 2002 Page 2 Course Content: 1. Advanced Project Design a. Multiple form projects b. Standard modules c. Class modules d. Use of the Data Environment development tool e. Use of the Data Report development tool f. MDI applications: MDI forms and child forms 2. Visual Basic Controls a. Review intrinsic controls: list boxes, grids, image vs. picture boxes b. Windows common controls: TreeView, ListView, and Toolbar c. Control arrays d. The CommonDialogue, Toolbar and RichTextBox controls e. The Timer control 3. Fundamentals of Event Driven Programming a. Mouse events b. Mouse drag and drop examples c. Keyboard events d. Form events e. Review menus: Menu editor, properties and events f. Error handling: Theerror object and its properties g. Coding with On Error GoTo statement, Raise and Resume statements 4. Relational Database Services a. Definition of relational databases and related terminology b. Concept of ActiveX Objects, OLE DB c. The ActiveX ADO Data Control d. Creation and use of data bound controls to access and change records e. The RecordSet object f. Coding the ADO Data Control to access and change records g. Field validation h. Introduction to Structured Query Language (SQL) 5. Graphics and Animation a. Coordinate systems: b. Customizing the coordinate system: setting the scale c. The intrinsic controls: Shape, Image, and PictureBox d. Additive color and color monitors, VB color constants and functions, RGB function e. Graphics methods: Cls, PSet, Line, Circle, and Step f. Examples of graphing mathematical curves, pie charts, bar charts, etc. (optional) g. Setting and coding the Timer control: Properties and events h. Animation using the timer control 6. Class Modules a. OOP concepts b. Introduction to components and COM (component object model) c. Anatomy and definition of a class module d. Access modifiers e. Let and Get Properties f. Parameterized properties g. Use of New to create class objects h. Class methods i. Debugging methods Chabot College Course Outline for Computer Science 12 Advanced Visual Basic Programming Fall Semester 2002 Page 3 Course Content: j. Advanced Visual Basic Programming 7. Collections a. Intrinsic collections: forms and controls b. Defining a collection of objects c. Access individual members of the collection d. Properties and Methods of a collection: Count, Add, Remove, Item e. Creating an instance of a collection 8. Directory and File Management a. Concepts of sequential vs. random data files b. Opening files in various modes c. Reading, and writing sequential files and reading till End of File d. Fixed length strings e. Defining a record for a random data file f. Accessing fields in a random data file g. Adding, deleting, and editing records in a random data file 9. ActiveX Controls a. Adding an existing Microsoft ActiveX Control to the Toolbox b. Creating a user-defined ActiveX Control from an existing Microsoft ActiveX Control c. Use of user-defined control in a project Methods of Presentation: 1. Student use of appropriate computer laboratory 2. Lecture, discussion and classroom demonstrations Assignments and Methods of Evaluating Student Progress: 1. Typical Assignments a. Modify your sandwich collection project to write the items in the collection to a random file. The project must be able to retrieve selected records from the file, add records to the file when a new sandwich is added to the collection, or display all the records that are in the file. b. Create an animation project. You can animate a graphic stored in an image box such as is done with the AnimatedPlane project. Or you can try something more complex, such as is done in the Moons project. 2. Methods of Evaluating Student Progress a. Quizzes, midterms, and final examination. b. Assigned projects c. Homework assignments Textbook (Typical): Advanced Programming in Visual Basic 6.0, Julia Bradley, Mc Graw Hill, 2000 Special Student Materials: Computer lab fee Diskettes Optional zip disk Carol Conway New: November, 1996 Revised September 23, 2001 CS 12 Outline Fall 2002