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