Lecture Set 01 1A - Introduction to CIS 3309 Component-Based Software Design 1/16/2010 12:00 PM How to Read These Slides These slides are now organized in such a way as to highlight the most important ones (using blue colored headings) and indicate which ones may be considered optional (using red headings) The “most important” slides are those that contain information to be carefully studied and understood This information relates to key concepts and terms important to an orderly progression thru the course The “optional” slides contain information you may want to read at some point in the course, but it is not material that is critical to your understanding of the basic concepts you need to know Most slides will have blue headings; these should be read carefully and referred to as needed 1/16/2010 12:00 PM What’s It All About? In part, this is a “how to” course But MOSTLY … it is a course where we try to answer WHY? If you really want a “how to” course, this is not going to be it You will learn the “how to” in lab and on your own – and sometimes in lectures 1/16/2010 12:01PM What’s It All About? (2) The course is supposed to be FUN It will also be hard work – the less you recall from CIS 2168 (Java, part 2) the harder this will be. O-O Design and programming are HARD THIS IS NOT A DEMOCRACY! (But I am not an Ogre – contrary to public opinion) However I like to encourage questions And I like it better when you answer your classmates questions You should not let me get away with anything 7/31/2008 11:48 AM What’s It All About? (3) The name of the game is reuse Reuse of EVERYTHING, from Design ideas Code snippets Procedural components Class components HOWEVER … citation is the key GIVE CREDIT WHERE CREDIT IS DUE For example 1/16/2010 11:59 AM Learning? I hope you will learn something from me Ain’t gonna happen if you do not get involved You have to do the work If, at the end, you write in my evaluation “he did not teach us anything, I had to learn it all on my own” … Well – that is OK with me As long as you learned a lot 7/31/2008 11:48 AM Credits The sources of these slides and our lectures The textbook – Visual Basic 2012 by Mike Murach and Anne Boehm Mike Murach and Associates, Inc. (right click on links and then Open) www.murach.com Programming with Visual Basic 2005, An ObjectOriented Approach by Michael Ekedahl Tompson/Course Technologies (An old book, but still useful) Building Applications and Components with Visual Basic .NET by Ted Pattison and Joe Hummel (Microsoft .NET Development Series) 7/31/2008 11:48 AM Credits (2) Professors Henri Wiesel Lefkovitz Pascucci Baram (a former professor who has passed away) Lab Assistants – Joe Jupin and Bill Hall Phil Bagley – the octogenarian whiz who sadly passed away a few years ago All the students who took this course before you 7/31/2008 11:48 AM The Problem with This Course – Part I Learning a new programming language (syntax) Learning how to use a brand new IDE (the .NET IDE) How to navigate around (all its features) Framework class library Other tools New terminology Introduction to software design techniques Introduction to forms/user interface design 1/16/2010 11:58 AM The Problem with This Course – Part II For first four weeks – chaos and struggle!! I won’t abandon you … BUT You will be asked to work on 4 Labs (the easy part) and 2 projects Most of you will not have a clue how to approach the projects – especially the one you will start on today. I don’t plan to help you unless YOU FIRST get started and begin asking questions If you do not ask questions I will explain what you need to do, and in some cases, how to do it – BUT ONLY IF YOU ASK If you don’t ask, we cannot succeed If you want a well-structured, step-by-step course, this is NOT IT! 7/31/2008 11:48 AM The Problem with This Course – Part III In addition to asking questions, you will need to learn to Read the book Google Talk to other people Work with your partner You will learn NOT TO copy (plagiarize) Citations of the work of others NO MATTER WHAT YOU LEARN FROM OTHERS, you need to do YOUR WORK 7/31/2008 11:48 AM Course Number and Title I thought you would never ask Officially CIS 3309 Component-Based Software Design Move toward new curriculum CIS 3209 and 4309 have been “compressed” into a new course Now has a new number (3309) Should have a new title 7/31/2008 11:48 AM Classroom Etiquette Multi-tasking Do at your on risk Adds to inefficiency and STRESS Especially when you end up not following instructions for HW and Labs If you are not convinced, try this … http://davecrenshaw.com/tag/multitasking-exercise Lab attendance and class attendance count! (x3) 7/31/2008 11:48 AM Class Conduct 1. Come on time – within 3 minutes of class time 2. If you are later than that you will miss roll call and not be counted as being present 3. Less reliance on lectures and more on HW, Labs, Quizzes and your presentations (rather than mine) 4. One (or two) exams, and a final 5. The first 12 chapters of the Boehm text will be covered REALLY quickly 6. Go to web site Labs Lab Schedule to see 7. You are expected to read the book and notes 7/31/2008 11:48 AM A New Approach – Part I I’m boring You get bored So we will start this course with 2 projects I used to lecture using these slides Your buddies fell asleep They got disengaged Two week “Tic-Tac-Toe” project Four week “ATM” project You will need to get engaged starting today 7/31/2008 11:48 AM A New Approach – Part II You will do all the work The Lab Assistants and I will help you Work on projects outside of class and lab Labs will cover Ch 1-12 mostly in sequence The projects will require you to do research -throughout Ch 1-12 of the book and maybe elsewhere Where? 7/31/2008 11:48 AM A New Approach – Part II You need to ask questions – or the learning process will not work well The labs each week are pretty self-contained and illustrate how to do things in a reasonable, sequential manner You need to read the book to do the labs The rest is up to you … 7/31/2008 11:48 AM