22
CS312 1 CS312 Course Introduction “There is so much to gain, so much to learn, and so much to teach in the technology industry. The possibilities are virtually limitless. Interactive websites can teach language, educate children, and keep language alive.” Andrea Delgado-Olson Program Manager at Anita Borg Institute Masters Student in CS, Mills College Member, Ione Band of Miwok Indians https://anitab.org/community-voices/i-am-a-miwok-indian-and-a-womenintech/ https://www.linkedin.com/in/andreadelgadoolson/ Chand T. John [email protected]

CS312 Course Introduction - University of Texas at Austinchand/cs312/topic1CourseIntro.pdf · 2020-01-21 · 1. course Intro 2. basic Java 3. static methods 4. expressions & variables

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: CS312 Course Introduction - University of Texas at Austinchand/cs312/topic1CourseIntro.pdf · 2020-01-21 · 1. course Intro 2. basic Java 3. static methods 4. expressions & variables

CS312 1

CS312 Course Introduction“There is so much to gain, so much

to learn, and so much to teach in the

technology industry. The

possibilities are virtually

limitless. Interactive websites can

teach language, educate children,

and keep language alive.”

Andrea Delgado-OlsonProgram Manager at Anita Borg Institute

Masters Student in CS, Mills College

Member, Ione Band of Miwok Indianshttps://anitab.org/community-voices/i-am-a-miwok-indian-and-a-womenintech/

htt

ps:/

/ww

w.lin

kedin

.com

/in

/andre

adelg

adools

on/

Chand T. John

[email protected]

Page 2: CS312 Course Introduction - University of Texas at Austinchand/cs312/topic1CourseIntro.pdf · 2020-01-21 · 1. course Intro 2. basic Java 3. static methods 4. expressions & variables

2

The Instructor

CS312

CS & Math @ UT

Ph.D. CS @ Stanford

Robotics software engineer– Honda

– Google + Johnson & Johnson medical

robotics startup

New lecturer @ UTCS

Owner & creator,

https://cs-comics.com

Author, TED-Ed lesson on

sorting, almost 2M views (https://www.youtube.com/watch?v=WaNLJf8xzC4)

Page 3: CS312 Course Introduction - University of Texas at Austinchand/cs312/topic1CourseIntro.pdf · 2020-01-21 · 1. course Intro 2. basic Java 3. static methods 4. expressions & variables

3

What We Will Do Today

Introductions and administrative details

Start Java Basics

CS312

Page 4: CS312 Course Introduction - University of Texas at Austinchand/cs312/topic1CourseIntro.pdf · 2020-01-21 · 1. course Intro 2. basic Java 3. static methods 4. expressions & variables

What is this class?

CS312 4

Computer science is the study of managing information

using the weird constraints of tools called computers.

Computer programming is a skill needed in computer

science.

This class will give you a foundation in Java, a widely

used programming language.

If you’ve never programmed a computer before, you

belong here!

Page 5: CS312 Course Introduction - University of Texas at Austinchand/cs312/topic1CourseIntro.pdf · 2020-01-21 · 1. course Intro 2. basic Java 3. static methods 4. expressions & variables

Intro to Programming

Learn to design and implement programs to

solve complex problems.

CS312 5

1. course Intro

2. basic Java

3. static methods

4. expressions & variables

5. for loops

6. more loops, constants

7. parameters

8. 2d graphics

9. more graphics

10. return values, Math methods

11. conditional statements

12. cumulative algorithms

13. Strings

14. while loops

15. random numbers

16. Boolean logic

17. assertions

18. file input 1

19. file input 2

20. file input 3

21. arrays

22. more arrays

23. tallying algos

24. sorting, searching

25. more array algos

26. 2d & 3d arrays

27. classes and objects

28. methods

29. constructors

30. creating classes,

Enums

31. inheritance

32. polymorphism

33. ArrayList

34. recursion

Page 6: CS312 Course Introduction - University of Texas at Austinchand/cs312/topic1CourseIntro.pdf · 2020-01-21 · 1. course Intro 2. basic Java 3. static methods 4. expressions & variables

6

Startup

CS312

1. Syllabus & Schedule: Read https://www.cs.utexas.edu/~chand/cs312

2. Piazza: Make sure you can read messages

3. PracticeIt: Create an account

4. CS department account: Request one from

https://apps.cs.utexas.edu/udb/newaccount/

Page 7: CS312 Course Introduction - University of Texas at Austinchand/cs312/topic1CourseIntro.pdf · 2020-01-21 · 1. course Intro 2. basic Java 3. static methods 4. expressions & variables

Book

Course Overview 7

• book is required - we follow it quite closely

Page 8: CS312 Course Introduction - University of Texas at Austinchand/cs312/topic1CourseIntro.pdf · 2020-01-21 · 1. course Intro 2. basic Java 3. static methods 4. expressions & variables

8

Question

Which of these best describes you?

A. First year at UT and first year college student

B. First year at UT, transferring from another college

or university.

C. In second year at UT.

D. In third year at UT

E. Other

CS312

Page 9: CS312 Course Introduction - University of Texas at Austinchand/cs312/topic1CourseIntro.pdf · 2020-01-21 · 1. course Intro 2. basic Java 3. static methods 4. expressions & variables

9

Graded Course Components

Discussion section quizzes

Programming projectsGrades based on 1000 points

Grades posted to Canvas

Page 10: CS312 Course Introduction - University of Texas at Austinchand/cs312/topic1CourseIntro.pdf · 2020-01-21 · 1. course Intro 2. basic Java 3. static methods 4. expressions & variables

Grades and PerformanceFinal grade determined by final point total and a

900 – 800 – 700 – 600 scale– plusses and minuses if within 25 points of cutoff:

875 – 899: B+, 900 – 924: A-

historically Mike Scott’s CS312 classes

77% C- or higher:– 36% A's, 28% B's, 13% C's

12% D or F

11% Q or W (drop)

CS3120

5

10

15

20

25

30

35

40

A B C D F Q, W

% Students With Grade

Page 11: CS312 Course Introduction - University of Texas at Austinchand/cs312/topic1CourseIntro.pdf · 2020-01-21 · 1. course Intro 2. basic Java 3. static methods 4. expressions & variables

AssignmentsStart out easy but get much, much harder

Individual – do your own work

Programs checked automatically with

plagiarism detection software

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

– don’t use frivolously

11CS312

Page 12: CS312 Course Introduction - University of Texas at Austinchand/cs312/topic1CourseIntro.pdf · 2020-01-21 · 1. course Intro 2. basic Java 3. static methods 4. expressions & variables

Succeeding in the Course

12

Practice, practice, practice!

Ask questions: lectures, sections, office

hours, Piazza

Make mistakes, learn from them

Study with others

Page 13: CS312 Course Introduction - University of Texas at Austinchand/cs312/topic1CourseIntro.pdf · 2020-01-21 · 1. course Intro 2. basic Java 3. static methods 4. expressions & variables

How to Get Help

Piazza Post

Office/lab hours

Email instructor or TAs

– Prefer Piazza

Class examples

Examples from book

Discuss with other students at a high level

CS312 13

Page 14: CS312 Course Introduction - University of Texas at Austinchand/cs312/topic1CourseIntro.pdf · 2020-01-21 · 1. course Intro 2. basic Java 3. static methods 4. expressions & variables

14

Succeeding in the Course - Concrete

Whole course is cumulative!

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

attend lecture and discussion sections

participate on the class discussion group

do extra problems (Practice It! http://practiceit.cs.washington.edu/)

study the old tests

study individually and in groups

ask questions and get help when needed

Page 15: CS312 Course Introduction - University of Texas at Austinchand/cs312/topic1CourseIntro.pdf · 2020-01-21 · 1. course Intro 2. basic Java 3. static methods 4. expressions & variables

Succeeding in the Course

Cannot succeed via memorization.

The things I expect you to do are not rote.

Learn by doing.

If you are brand new to programming or

have limited experience, I strongly

recommend you do lots and lots of practice

problems.

– Practice It! web site

– JavaBat

CS312 15

Page 16: CS312 Course Introduction - University of Texas at Austinchand/cs312/topic1CourseIntro.pdf · 2020-01-21 · 1. course Intro 2. basic Java 3. static methods 4. expressions & variables

Common Mistakes

Not getting help

Not turning in the correct file(s) for

programming assignments

Going to the wrong section

CS312 16

Page 17: CS312 Course Introduction - University of Texas at Austinchand/cs312/topic1CourseIntro.pdf · 2020-01-21 · 1. course Intro 2. basic Java 3. static methods 4. expressions & variables

17

Course Materials and ProceduresSoftware

– 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 computer if you wish

– Java• Web page has details under Software. - JDK 8.0

– Optional IDE• Recommended IDE is Eclipse (free)

CS312

Page 18: CS312 Course Introduction - University of Texas at Austinchand/cs312/topic1CourseIntro.pdf · 2020-01-21 · 1. course Intro 2. basic Java 3. static methods 4. expressions & variables

Programming is problem solving

Break up problem into key parts

Write code for each part

Like planning a party

CS312 18

Page 19: CS312 Course Introduction - University of Texas at Austinchand/cs312/topic1CourseIntro.pdf · 2020-01-21 · 1. course Intro 2. basic Java 3. static methods 4. expressions & variables

How many computers do you

own?

CS312 19

Page 20: CS312 Course Introduction - University of Texas at Austinchand/cs312/topic1CourseIntro.pdf · 2020-01-21 · 1. course Intro 2. basic Java 3. static methods 4. expressions & variables

Programs are like recipes

CS312 20

Page 21: CS312 Course Introduction - University of Texas at Austinchand/cs312/topic1CourseIntro.pdf · 2020-01-21 · 1. course Intro 2. basic Java 3. static methods 4. expressions & variables

How computers run programs

CS312 21

Page 22: CS312 Course Introduction - University of Texas at Austinchand/cs312/topic1CourseIntro.pdf · 2020-01-21 · 1. course Intro 2. basic Java 3. static methods 4. expressions & variables

High-level languages

“Only by standardizing high-

level programming

languages can progress in

computer applications be

accomplished efficiently and

in a cost-effective manner.”

Rear Admiral Grace Hopper, Ph.D.(paraphrased in Carmen L. Mitchell, The Contributions of Grace Murray

Hopper to Computer Science and Computer Education”, 1994, based on

Grace Hopper’s “Standardization and the Future of Computers”, 1970)

CS312 22

htt

ps:/

/com

mons.w

ikim

edia

.org

/w/in

dex.p

hp?curid

=12421

47

5