Topic 1 CS314 Course Introduction Chapman: I didn't expect a kind of Spanish Inquisition. Cardinal Ximinez: NOBODY expects the Spanish Inquisition! Our chief weapon.

Download Report

Transcript Topic 1 CS314 Course Introduction Chapman: I didn't expect a kind of Spanish Inquisition. Cardinal Ximinez: NOBODY expects the Spanish Inquisition! Our chief weapon.

Topic 1
CS314 Course Introduction
Chapman: I didn't expect a kind of Spanish Inquisition.
Cardinal Ximinez: NOBODY expects the Spanish Inquisition!
Our chief weapon is surprise...surprise and fear...fear and
surprise.... Our two weapons are fear and surprise...and
ruthless efficiency.... Our three weapons are fear, surprise,
and ruthless efficiency...and an almost fanatical devotion to the
Pope.... Our four...no... Amongst our weapons.... Amongst
our weaponry...are such diverse elements as fear, surprise....
Mike Scott, Gates 6.304
[email protected]
www.cs.utexas.edu/~scottm/cs314/
1
Who Am I?
Lecturer in CS department since 2000
Undergrad Stanford, MSCS RPI
US Navy for 8 years, submarines
2 years Round Rock High School
Wife (Kelly) is a nurse.
– 2 daughters, Olivia
and Isabelle
CS314
Course Overview
2
What We Will Do Today
Discuss
– course content
– procedures
– tools
For your TO DO list:
– request a CS department lab account
– see syllabus for procedure and links
– accounts from last term should renew automatically
CS314
Course Overview
3
Prerequisites
Formal: CS312 (or CS305J) with a grade of
C- or higher
Informal: Ability to design and implement
programs in Java using the following:
•variables and data types
•expressions, order of operations
•decision making (if statements)
•including boolean logic and
boolean expressions
•loops (fixed and variable
repetition)
•procedures or functions
•parameters (reference and value
parameters, local variables, scope,
problem generalization)
CS314
•structures or records or objects
•arrays (vectors, lists)
•top down design (breaking big rocks
into little rocks)
•algorithm and data design
•create and implement program of at
least 200 - 300 loc
•could you write a program to let 2
people play connect 4?
Course Overview
4
Data Structures
simple definition:
"Variables that store other variables"
CS314
Course Overview
5
Data Structures as Tools
We will learn a whole toolbox worth of tools
CS314
Course Overview
6
CS314 Topics
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
CS314
Introduction
Complexity
Encapsulation
Inheritance
Polymorphism
Generics
Interfaces
Iterators
Abstract Classes
Maps, Sets
Linked Lists
Recursion
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
Recursive Backtracking
Searching, Simple Sorts
Stacks
Queues
Fast Sorting
Trees
Binary Search Trees
Graphs
Hash tables
Red-Black Trees
Heaps
Dynamic Programming
Course Overview
7
Resources
Class web site – most course material
Schedule – readings
Class discussion group – Piazza
Labs, software (Java, Eclipse, Canvas)
Teaching staff, lab hours
CS314
Course Overview
8
Books and equipment
• clicker is required
• books are recommended, not required
• free alternatives on the web, see schedule
• Weiss book - data structures
• Thinking Recursively in Java - recursion
CS314
Course Overview
9
Clicker Question 1
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
CS314
Course Overview
10
Graded Course Components
clicker participation
– 30 lectures with clicker, 2 points each: 60 points total
Discussion section quizzes
– 10 quizzes, 10 points each: 10 points total
Programming projects
– 10 projects, 20 points each: 200 points total
Midterms, 7/8 in class: 220 points
Final Monday 8/17, 7 - 10pm: 450 points






CS314
60 + 100 + 200 + 220 + 450 = 1030
clicker, Quizzes, Programming Assignments capped at 330 points.
30 points of “slack” among those 3 components
No points added! Grades based on 1000 points, not 1030
Grades posted to Grade Center on Canvas
One extra credit assignment at end of term, 10 points
Course Overview
11
Grades and Performance
Final 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-
CS314 Historical Grades - my sections only
71% C- or higher:
– 24% A's, 26% B's, 21% C's
14% D or F
15% Q or W (drop)
ON CIS WORK LOAD EVALUATED AS HIGH
CS314
Course Overview
12
Assignments
Non trivial programming projects
Individual – do your own work
– okay to share tests you write
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
CS314
Course Overview
13
Succeeding in the Course
 Randy Pausch,
CS Professor at CMU said:
 "When I got tenure a year
early at Virginia, other
Assistant Professors would come up to me and say, 'You
got tenure early!?!?! What's your secret?!?!?' and I
would tell them, 'Call me in my office at 10pm on Friday
night and I'll tell you.' "
 Meaning:
Some things don't have an easy solution.
Some things simply require a lot of hard work.
CS314
Course Overview
14
Succeeding in the Course
Former student:
– "I really like the boot camp nature of your
course."
 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 - http://tinyurl.com/pnzp28f
 study for tests using the old tests
 study for tests in groups
 ask questions and get help when needed
CS314
Course Overview
15
Course Materials and Procedures
Software
– can work in CS department microlab, 1st or 3rd
floor of GDC, Dell hall (north wing)
– login via CS account name and password
– can work at home if you wish
– Java.
• Web page has details under Software. - JDK 7.0 or
8.0
• Only using up to and including Java 7.0 features
– Optional IDE.
• Recommended IDE is Eclipse, also free
CS314
Course Overview
16
Clicker Question 2
Which computer programming language are
you most comfortable with?
A. Java
B. C or C++
C. Python
D. PHP
E. Other
See: http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
and http://lang-index.sourceforge.net/
CS314
Course Overview
17