cs 312: introduction to programming vallath nandakumar

23
CS 312: Introduction to Programming Vallath Nandakumar

Upload: sylvia-booker

Post on 24-Dec-2015

232 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: CS 312: Introduction to Programming Vallath Nandakumar

CS 312: Introduction to Programming

Vallath Nandakumar

Page 2: CS 312: Introduction to Programming Vallath Nandakumar

Agenda

●Introduction●Administrative details●Grades, Exams●Discuss the scope of computer science, and what computer science professionals do●Write a short Java program

Page 3: CS 312: Introduction to Programming Vallath Nandakumar

Who am I?●Contact

–Office: GDC 6.314, 512-471-9288

[email protected]

–www.cs.utexas.edu/~vallathn

●Education and work experience–B.Tech,

●Indian Institute of Technology, Madras

–M.S., PhD (Electrical Engineering & Computer Science)●University of California, Berkeley

–Tektronix Inc.

–Advanced Micro Devices

–Amrita University, India

Page 4: CS 312: Introduction to Programming Vallath Nandakumar

Course timings

●Lectures MWF – 10-11●Discussion sections

–Mondays–Led by Teaching Assistant (Luis (Xiaofan) Lu)

Page 5: CS 312: Introduction to Programming Vallath Nandakumar

StartupWww.cs.utexas.edu/~vallathn/Spring2014/cs312/Startup.htm

●Request CS department account (not essential)–https://apps.cs.utexas.edu/udb/newaccount/

●Read the syllabus and look over the schedule.●Explore the class web page●Sign up for the class discussion group on Piazza.

● Make sure you pay attention to instructor announcements!

Page 6: CS 312: Introduction to Programming Vallath Nandakumar

Startup contd.●Software, if working at home

–JDK, BlueJ (or other IDE) (optional)

●Practice-It account–Excellent for practice. Do 10 or more per week.

●Get the textbook with MyProgrammingLab–Sign up for MyProgrammingLab

–Register iClicker on the iClicker website

Page 7: CS 312: Introduction to Programming Vallath Nandakumar

Graded course components●Clicker participation–42 lectures with clicker, 1 point each: 42 points total

●Discussion section quizzes–11 quizzes, 10 points each: 110 points total

●Programming projects–12 projects, 1st 10 points, rest 20 points: 230 points total

–MyProgrammingLab exercises –11sets, 53 points total

●Two Midterms: 150, 150–conflict? email me ASAP

●Final: 300 points, Day and Time TBD

Page 8: CS 312: Introduction to Programming Vallath Nandakumar

Graded course components contd...

●42 + 110 + 230 + 53+ 150+ 150+ 300 = 1030●clicker, Quizzes, Programming Assignments, MyProgrammingLab capped at 400 points.●30 points of “slack” among those 4 components●No points added! Grades based on 1000 points, not 1030●Grades posted to Grade Center on Blackboard

●Final grade determined by final point total and a 900 – 800 – 700 – 600 scale–pluses and minuses if within 25 points of cutoff: 875 – 899: B+, 900 – 924: A-

–Some curving might be done at the end

Page 9: CS 312: Introduction to Programming Vallath Nandakumar

Assignments●Start out easy but get harder

●Individual – do your own work

●Okay to share tests you write

●Programs checked automatically with plagiarism detection software. Cheating will result in an F.

●Turn in the right thing - correct name, correct format or you will lose points / slip days

●Slip days–6 for term, max 2 per assignment (no slip days on last assignment)

–Turn in time VERY STRICT.

–don’t use frivolously

Page 10: CS 312: Introduction to Programming Vallath Nandakumar

Succeeding in the course●Material builds on itself●Failure to understand a concept leads to bigger problems down the road, so …–do the readings

–start on assignments early

–get help from the teaching staff when you get stuck on an assignment

–attend lecture and discussion sections

–participate on the class discussion group

–do extra problems (Practice It! And MyProgrammingLab)

–study for tests using the old tests

–study for tests in groups

–ask questions and get help when needed

Page 11: CS 312: Introduction to Programming Vallath Nandakumar

Succeeding contd...●Most important is to do lots of problems–Only way to remember the concepts–Reading and memorization of limited use–Don't hesitate to explore, try out different ways of doing a problem●Java has many features–Don't hurry, unless it is a timed test●Speed will come automatically–Try to get program right the first time you compile and run it●Focus on accuracy

Page 12: CS 312: Introduction to Programming Vallath Nandakumar

Common mistakes

●Not registering clicker at iClicker website●Assuming final date and time already set●Section number / unique id from UTDirect, not Canvas●Not turning in the correct thing on programming assignments●Going to the wrong section

Page 13: CS 312: Introduction to Programming Vallath Nandakumar

Where to do programming (coding)

●can work in CS department microlab, 1st and 3rd floor of Gates, north wing (GDC)●login via CS account name and password●work on your own system if you wish●Java–Web page has details under Software. - JDK 7.0–Optional IDE.–Recommended IDE is BlueJ or Eclipse, also free

Page 14: CS 312: Introduction to Programming Vallath Nandakumar

Residential Halls Study GroupsTutoring & group study for CNS majors:

• Intro Chemistry• Including Organic

• Intro Math (Pre-Calculus and Calculus)• Intro Biology

• Including Genetics

• Intro Computer Science

14

Convenient Locations and Times:• Kinsolving & Jester West dorms

• Sunday - Thursday nights: 7:30 - 10:30 PM– Questions? [email protected]– Website: http://cns.utexas.edu/community/resident-hall-study-groups

Page 15: CS 312: Introduction to Programming Vallath Nandakumar

Are Programmers Geeks, or just Smart? (At least, we are not the pointy-haired manager!)

From Dilbert, by Scott Adams

Page 16: CS 312: Introduction to Programming Vallath Nandakumar

First Clicker QuestionYour high school was A.In TexasB.Outside Texas

Page 17: CS 312: Introduction to Programming Vallath Nandakumar

Second Clicker QuestionI took this class in Fall 2013 with me or Mike ScottA. YesB. No

Page 18: CS 312: Introduction to Programming Vallath Nandakumar

What is Computer Science?

●Study how to manage and process information using computers, mostly digital computers

Page 19: CS 312: Introduction to Programming Vallath Nandakumar

Information processing

●Digital computers process information in discrete (countable units)

–Real world is 'analog', or continuous●Height of a person, time taken to drive to work●Computers like things to be well-defined

–Humans like fuzzy stuff●I like you sort of, maybe, kinda ...

Page 20: CS 312: Introduction to Programming Vallath Nandakumar

Need to adapt human thinking

“We will arrive in precisely 4.3829 hours, Captain”

“You mean, like around lunchtime, Spock?”

Page 21: CS 312: Introduction to Programming Vallath Nandakumar

Programming●a skill and tool that are applied to all other areas of computer science●artificial intelligence, networks, cpu architecture, graphics, systems (programming languages, operating systems, compilers), security, and on and on …●We will be using solving problems and implementing solutions in a programming language called Java●problem solving and computational thinking are key

Page 22: CS 312: Introduction to Programming Vallath Nandakumar

Programming Language

●A method of communication where humans can tell computers what to do in language that humans can read, write, and understand, and computers can also read and understand

Page 23: CS 312: Introduction to Programming Vallath Nandakumar

Why are we teaching Java?Financial Sector: Top languages are Scala, Java, and C#

Agency, Media, Advertising, and Design: Top languages are Ruby, PHP, JavaScript, Java, and Objective-C

Enterprise Applications and Operational Software: Top languages are Java and C#

Research and Development, Scientific, and Academic: Top Languages are Scala, C++, Erlang and Python