Download EECS 282 Information Systems Design and Programming and more Slides Data Structures and Algorithms in PDF only on Docsity!
EECS 282
Information Systems
Design and Programming
Atul Prakash Professor, Computer Science and Engineering University of Michigan
What is the Course
About?
A second programming course - but different
Focus on design skills, assuming you already know some programming
Informatics Curriculum
New undergraduate LSA concentration
Mathematics
Statistics
School of Information
Electrical Engineering and Computer Science (EECS)
Informatics Structure
Core courses - All students
Informatics Tracks - Advanced Courses
Information Analysis
Social Computing
Computational Informatics
Life Sciences Informatics
Teaching Staff
Professor Atul Prakash, Computer Science (aprakash)
TAs: Vijay Alexander (vjalex), Scott Reed (reedscot)
- My education: undergraduate at IIT Delhi, Ph.D. at University of California, Berkeley in Computer Science
- My research topics: Computer security, software systems.
- Some recent work in the news: bank’ web site security analysis By Mara Der Hovanesian Security Holes At The Online Bank Hacker intrusions into bank Web sites are relatively rare, according to the FDIC. But the risk is there, warns Atul Prakash, a University of Michigan computer science professor who studied 214 sites. His 2006 survey, presented at the July 25 Symposium on Usable Privacy & Security, found 75% of sites vulnerable to hacking, with two big worrisome trends: log-in boxes placed on insecure pages on a bank (via, say, a “Contact Us” link). “Banks should try to keep the site on a single domain,” Prakash says,!s domain and the use of third-party vendors that transfer customers to insecure outside pages adding that users should look for a url starting with “https” on pages asking for sensitive personal data. The “s” signals an extra security layer. more slide shows… Copyright 2000-2008 by The McGraw-Hill Companies Inc. All rights reserved. BusinessWeek Magazine Subscribe now and get 4 trial issues BTW The Business Week 1 of 6 ADS BY GOOGLE National City Checking Open a Business Checking Account. Apply Now & Simplify Your Banking. www.NationalCity.com/Business Comerica Bank Accounts Open a new bank account & we'll donate $100 to charity! Comerica.com Patriot Act Assessments Providing Banks with expert BSA,AML Risk Assessments OFAC & Patriot Act www.BSAstrategies.com Home Loan - Countrywide® Govt-insured mortgages up to $729K Lower rate options in select areas. www.Countrywide.com
Download Java Software
(will take a while)
Login to ctools now and see the announcement for the precise links
Java: http://java.sun.com: Download the latest SE version
Eclipse: http://www.eclipse.org (Download the latest Java Developer version)
Getting Help
- Use the discussion forum on 282 site in ctools. Use it like a conversation, ask questions, provide tips, and help others
- Email to^ [email protected]^ (but forum is preferred)
- Office hours and labs
Why Java?
One of the popular programming languages (others being C++, Python, PHP)
Write-once, run-anywhere philosophy (unlike C++)
Safer programming than in C++
Faster than scripting languages (e.g., Python)
Other languages use Java-like syntax: Javascript, C#
What can you do in Java?
Do general programming: Many libraries for visualization, building graphical user interfaces, networking, multimedia, etc.
The "brains" behind many web sites are written in Java (e.g., J2EE, Java Server Pages, and Tomcat)
Java applets: used in online calculators and animations
Google Android mobile phone applications
See http://java.sun.com/nav/used
When a Program Runs...
- When a program runs it:
- Takes some^ input^ data
- Processes^ the data using a set of instructions (a program)
- Produces some^ output
- Think of it as “value add” An example program takes a - text file as its input - counts the lines in the file - prints out the number of lines in the file Z-
Do you have a Laptop?
Life is simplest if you have a laptop - it is best when you just install Java software on your laptop and work wherever you like
If you do not have a laptop - you need a USB stick. The hardware in the lab is in a state of flux.
We will work this all out in labs
Atul’s Basic Rules
- Coming late or leaving early - OK
- Sleeping in class - OK
- Using a laptop - OK
- Eating or drinking - OK if the room permits it
- Stepping out to take a bio break - OK
- Asking questions any time - OK
- Correcting me when I make a mistake - OK - Skipping class - not very wise - but OK - Doing things that distract other students or making difficult for us all to learn - Not OK - Skipping class or sleeping in class and then expecting me to repeat lectures in office hours - Not OK - Waiting to the last minute and asking me to review the whole semester in office hours - Not OK
Programming Assignments
Probably the most important part of the course
Generally, doable in the lab + 4-8 hours of weekly self- study/work.
Includes small exercises during the class
I monitor areas of difficulty and adjust the course material, lectures, assignment difficulty, everything
Sometimes it helps to do the assignments twice if you are struggling