13-Jul-15 Welcome to the Computer and Information Technology program

Slides:



Advertisements
Similar presentations
Collaborating By: Mandi Schumacher.
Advertisements

The Pragmatic Programmer I. About the textbook The Pragmatic Programmer is full of helpful suggestions for surviving programming It’s also enjoyably written.
Welcome to the seminar course
Lesson 10: Dealing with Criticism
2-May-15 GUI Design. 2 HMI design There are entire college courses taught on HMI (Human-Machine Interface) design This is just a very brief presentation.
Public speaking: the basics
Grant Proposal Writing© Dr. Ayman Abdel-Hamid, CS5014, Fall CS5014 Research Methods in CS Dr. Ayman Abdel-Hamid Computer Science Department Virginia.
Course Overview things to know and think about when considering these sections of Eng2311 Engl 2311 Fricke sections.
S.T.A.I.R.. General problem solving strategy that can be applied to a range problems.
Attitudes and Expectations. Introduction We are constantly making judgments about other people. We may form these judgments without the other person uttering.
Student PowerPoints For IEPs
Lesson 18 Edification.
Why take classes through the Saskatoon Catholic Cyber School?
EconS 529 Research Methods Fall semester Introductory Lecture.
CSCD 555 Research Methods for Computer Science
Welcome to the Computer and Information Technology program
25-Jun-15 Welcome to CIT 590 “Duke”
1 Being a TA at UCR Michalis Faloutsos. 2 The Idea TAs are the face of the Dpt Critical for undergraduate education You need to take it seriously Teaching.
Transitioning to XP or The Fanciful Opinions of Don Wells.
27-Jun-15 Welcome to the Computer and Information Technology program
Applied Software Project Management 1 Introduction Dr. Mengxia Zhu Computer Science Department Southern Illinois University Carbondale.
13-Jul-15 Welcome to the Computer and Information Technology program
14-Jul-15 Welcome to the Computer and Information Technology program
SM3121 Software Technology Mark Green School of Creative Media.
Welcome to the Computer and Information Technology program
July 16, Introduction to CS II Data Structures Hongwei Xi Comp. Sci. Dept. Boston University.
Training Math Tutors To Tutor Developmental Math Students
This program is provided with compliments from By Doug Steward.
Notes for your sketchbook: The Three Modes of Art Making.
September 16, 2009 Erin Blaskie,
Introducing CLT While Avoiding Classroom Culture Shock Marla Yoshida.
TELEPHONE INTERVIEWS : Telephone Interviews are very popular in modern fast work culture. Telephone interviews are often conducted by employers in the.
How Do I Find a Job to Apply to?
Mixed-level English classrooms What my paper is about: Basically my paper is about confirming with my research that the use of technology in the classroom.
Acting Like a Professional
*** Remember – this material is based on 7 Habits.
Extensive Reading Research in Action
Student Success Skills Changes, Choices and Challenges February 28, 2004 Dr. Mary Moss.
Welcome... Simon Walls PhD Marketing School of Business Administration.
Career Investigation Purpose of this course: To guide students through the career decision-making process - conducting a thorough self-appraisal; investigating.
This is what BC Students told us…
What is Design? Why does it matter? David Vronay Research Manager Windows UI Strategy Microsoft, Inc.
Click here to add text Click here to add text. Presentation Skills Presentation Skills are a set of skills focused around interpersonal and communication.
Introducing CLT While Avoiding Classroom Culture Shock Marla Yoshida ACP TEFL Program UCI Extension International Programs.
EGS 1001C Introduction to Engineering Succeeding in the Classroom Professor: Dr. Miguel Alonso Jr.
Welcome to my conference! February th grade Guadalupe.
Building A Positive Attitude “ A little ability combined with a positive attitude often goes further than a great talent teamed with a negative viewpoint.
Unstated Requirements And useability 1. Many UI decisions End up being made by the technical development/implementation staff End up being made by the.
Powerpoint Presentations Problems. Font issues #1 Some students make the font so tiny that it cannot be read.
.. HFM Distance Learning Project Student Survey 2003 – 2004 School Year BOCES Distance Learning Program Quality Access Support.
In this presentation we will focus on some simple tips and habits that will keep you from pulling your hair out Go from this To this.
JOB INTERVIEWS Mr. Cowan Futures Forum FHCI. PREPARING FOR A JOB INTERVIEW  The job interview is a crucial part of your job search because it’s an opportunity.
Executive Focus 2007 Take Control of Your Career Tools to Jumpstart Your Stalling Career Executive Focus 2007.
Learning Objectives: 1. Identify different personality types 2. Understand our own personality type 3. Relate our personality type to career and college.
CS 345 – Software Engineering Nancy Harris ISAT/CS 217
21-Dec-15 Welcome to the Computer and Information Technology program
1 The student will learn what educational research shows are good teaching practices. What is Good Teaching?
COLD READING UNIT. WHAT DO YOU THINK ABOUT WHEN YOU HEAR “COLD READING?”
The problem that needs to be solved is if a computer career is for me.
By: WenHao Wu. A current situation that I have is that I cannot decide if a computer career is for me. I am considering any career in computers, but I.
© 2015 albert-learning.com How to talk to your boss How to talk to your boss!!
The Year of the Curriculum: Life Without Levels The programme consists of a bridging unit and five further units: © Curriculum Foundation1 Bridging Unit.
Importance of formative literacy experiences Daniella Ramos.
Discovering the Need for Software Engineering A personal experience Kinga Dobolyi.
Writing a covering letter. Skills building 1: understanding a job advertisement 1. When reading an advertisement, we should pay more attention to _____.
“Whacha just say?” Talking technology to non-technical people by Ray Kim.
DSMA 0393/1414 Comments of Students. Co-requisite Model Student Comments Students were given this request on their final examination: Write a statement.
PHYS 202 Intro Physics II Catalog description: A continuation of PHYS 201 covering the topics of electricity and magnetism, light, and modern physics.
GUI Design 24-Feb-19.
Presentation transcript:

13-Jul-15 Welcome to the Computer and Information Technology program

2 Who am I? David Matuszek (muh-TOOZ-ik) I prefer “Dave” or “Dr. Dave” I’m the director of the MCIT program I’m here to teach, not to do research My most important courses are CIT 591 and CIT 594

3 Who are you? Most of you are in the new MCIT program. You are here because: You are extremely bright You do not have a BA or BS in computer science The rest of you are in other programs You have a very wide range of backgrounds

4 What is this course? This is a beginning programming course The language we are using is Java 5 The primary audience is MCIT students This is one of six required MCIT courses It is also a service course for other students who need to learn to program CIT 591 replaces CIS 500 in this role If I can lure you into computing, I will!

5 Why are you here? There are two good reasons for getting into computer science: The job market is (usually) very good Computer programming can be extremely satisfying and enjoyable Which of these is more important? Money is a necessity Being rich isn’t a necessity (but it sure is nice) You spend about 1/4 of your adult life working It’s important to find work that you enjoy

6 What are you getting yourself into? Programming is intellectually challenging It can be tremendous fun… …if you like that sort of thing! Lifelong learning is essential The technology is constantly changing We cannot teach you all you need to know We can point you in the right direction and give you a good, hard push--but the rest is up to you!

7 Programming can be fun Programming is puzzle-solving Very little is mechanical, routine work You always have to be thinking If you like solving puzzles, there’s a good chance you will like programming Some puzzles are hard You need a tolerance for frustration Solving hard puzzles can be very satisfying

8 Computer Science Computer science is the study of what we can do with computers how we can best do it If we really understand how to do something, we can write a program to do it We do a lot of things without really understanding how we do them Walk upright Recognize faces Talk, and understand someone else’s speech Computer science is all about how to do things Programming is about how to make the computer do the things that we ourselves know how to do Computer science is about figuring out how to do additional things

9 CIT 591 is a programming course Programming is teaching the computer how to do something Programming, like woodworking, is a craft To master a craft, you need both knowledge and experience Even a poor woodworker can produce a useable chair A master craftsman can produce a chair that is strong, comfortable, and beautiful

10 Beauty in computer science Programs can be beautiful or ugly I am not speaking metaphorically Usually, Blind people can’t appreciate fine paintings Deaf people can’t appreciate good music Non-mathematicians can’t appreciate elegant proofs Non-programmers can’t appreciate the beauty in programs (but can often feel the lack of it!)

11 Basic esthetics People have different tastes in music, but… A two-year old pounding on a piano is not making music Very few musicians disagree on what notes make up a “chord,” or a “chord progression” People have different tastes in programming, but many values are held in common Programming is an art as well as a craft

12 Elegance Powerful software can do everything you want to do--for example, Microsoft Word Complex software is hard to learn and hard to use-- for example, Microsoft Word More power usually means more complexity Elegant software somehow manages to be both simple and powerful

13 Elegance in mathematics In school, the mathematician Johann Carl Friedrich Gauss was told to add up the numbers from 1 to 100 Gauss realized that = 101, = 101, = 101, and so on There are fifty such pairs The answer must be 50 x 101, or 5050 This is elegant: it saves work, and it’s easy to understand

14 Beauty in programming Outer beauty in programs consists of: Doing a job the way the user wants it done Providing a simple, intuitive set of controls Working reliably, without crashes or glitches Inner beauty in programs consists of: Simple, elegant, efficient solutions to problems Code that is easy to read, understand, and modify Good commenting and coding style

15 Elegance in programming Consider the following problem: You are given a stack of cards, allegedly containing the numbers 1 through …but there are only 99 cards How do you determine which card is missing? One solution: Go through all the cards looking for 1, then do it again looking for 2, etc. Is there a better way?

16 Elegance, again Suppose you are given a deck of 51 playing cards How do you decide which card is missing? Can you adapt Gauss’s solution to this problem? Suppose you are given five decks, each missing one (not necessarily all the same) card You want to find how many complete decks you can form Can you adapt Gauss’s solution to this problem? Suppose you are given one thousand decks, each missing one card You want to find how many complete decks you can form Would the large number of decks change the way you solve the problem?

17 What CIT 591 and 594 are about You need to learn the craft of programming How to design and write programs that work How to write clear code and documentation This is a skill, and it requires a lot of practice In CIT 591 we study programming You learn a language (Java 2) and some basic skills You learn how to use the language to tell the computer how to do things In CIT 594 we concentrate more on computer science Remember what I said: If you really understand how to do something, you can write a program to do it Computer science is all about how to do things

18 Out with the old, in with the new Geometry is about 2300 years old It’s all based on straight lines and circles These were viewed as idealizations of nature There are no straight lines or circles in nature Didn’t anybody notice? Benoit Mandelbrot developed fractal geometry starting in about 1977 Even in a 2300 year old subject, things change!

19 Fractals are everywhere

20 Changes in computer science Computer science is only about 60 years old It’s changing much faster than geometry! Java was first introduced in 1995 We will be covering Java features that didn’t exist this time last year Change is rapid and accelerating Dominant language of the 1990s: C++ Dominant language of early 2000s: Java Dominant company: IBM to Microsoft to ? First GUI: Macintosh, 1984 First web browser: Mosaic, 1992 Web pages: HTML to DHTML to XML

21 What’s ahead? Half-life of CS knowledge: about 5 years Typical length of career: about 40 years What does this tell you? Nobody expected: personal computers, graphical user interfaces, the mouse, the World Wide Web, the popularity of Java, the ascendance of XML, etc. There is only one safe prediction: You will be taken by surprise!

22 Maybe you should learn accounting instead? What can we possibly teach you that will do you any good five years from now? Many underlying programming concepts and mathematical foundations don’t change Programming paradigms change slowly Each new language you learn will be easier to learn than the previous one, because most of the ideas in it will be familiar

23 But more importantly... The attitude you need doesn’t change Always be prepared to learn Take pride in your work, but-- Realize that your work is not, and can never be, perfect Learn to welcome corrections and criticisms as helping you to perfect your work; do not take them personally Seek out and fix problems, don’t avoid them Be responsive to the realities of the situation

24 A little problem I know: each of the above cards has a letter on one side and a number on the other My theory is: if a card has a vowel on one side, it has an even number on the other I want to test my theory, but... I want to turn over as few cards as possible Which cards must I turn over ? A4M9

25 Answer to the cards problem Theory: If vowel, then even You have to look for things that show you are wrong, not things that show you are right! This is part of what I mean by “attitude” A4M9 2K8E need don’t need need

26 Small projects You can build a doghouse in a few hours You don’t need a blueprint The materials don’t cost much A little knowledge of tools is enough Imperfections are no big deal

27 Medium-sized projects You can build a house in a year or so You really do need blueprints Excess materials mean wasted money House building requires more skills: plumbing, bricklaying, electrical work, carpentry, etc. Imperfections matter: you don’t want a leaky roof! It’s easier if you aren’t doing it all by yourself

28 Large projects You cannot build a skyscraper by yourself It’s just too much work for one person You don’t have the money You don’t have all the skills Imperfections could be costly or even fatal Skyscrapers can only be built by a team Communication is essential A “paper trail” is essential

29 What does that mean for CS? What can we ask you to build in your classes? What will be expected of you in industry? We teach skyscraper-level skills, but we ask you to apply those skills to doghouses it’s silly, but what alternative do we have? It’s up to you: When you leave here, will you be able to build skyscrapers? or will you just be very good at building doghouses?

30 Why am I here? My personal goals are For the MCIT students: get everybody through this program with the skills and attitudes you need to succeed into a career that you will enjoy For the non-MCIT students: give you a solid understanding of basic programming try to lure you into learning more about the field For the program: Produce really competent graduates that reflect well on the MCIT program

31 How to get a good grade in here Start your assignments early! This is the first and most important way to improve your grades Programming takes a lot of time It’s not easy to predict how long a program will take Test your programs thoroughly One or two simple tests are not enough We often provide simple but incomplete tests, just to get you started We will do thorough testing, even if you don’t! Read the assignments carefully Do what is assigned, not “something like” what is assigned Learn to use your tools (BlueJ, JUnit, etc.) Use comments and good style right from the beginning, not as a last-minute addition To prepare for tests, review and understand the lectures

32 The End He who works with his hands is a laborer. He who works with his hands and his head is a craftsman. He who works with his hands and his head and his heart is an artist. -- St. Francis of Assisi