EECS 282 Information Systems Design and Programming, Slides of Data Structures and Algorithms

Elective for. CS students. • The new course refactors the computing material so that most-needed skills are covered first: • Application of data structures.

Typology: Slides

2022/2023

Uploaded on 05/11/2023

shekhar_hin
shekhar_hin 🇺🇸

4.9

(9)

226 documents

1 / 25

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
EECS 282
Information Systems
Design and Programming
Atul Prakash
Professor, Computer Science and Engineering
University of Michigan
1
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19

Partial preview of the text

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