Part I Course Introduction and Governing Law. Course Introduction.
Course Introduction
description
Transcript of Course Introduction
![Page 1: Course Introduction](https://reader036.fdocuments.net/reader036/viewer/2022062410/56815b56550346895dc9389e/html5/thumbnails/1.jpg)
Course Introduction
Bryce Boe2013/09/30
CS24, Fall 2013
![Page 2: Course Introduction](https://reader036.fdocuments.net/reader036/viewer/2022062410/56815b56550346895dc9389e/html5/thumbnails/2.jpg)
First things first
• Everyone must receive 8/8 on lab 1 before midnight
• You should have attended the lab– If you didn’t see me after class
![Page 3: Course Introduction](https://reader036.fdocuments.net/reader036/viewer/2022062410/56815b56550346895dc9389e/html5/thumbnails/3.jpg)
About Me (Bryce Boe)
• Ph.D. Candidate in Computer Science Education– Focus on automated assessment tools– Not (yet) deserving of the Doctor/Professor title
• B.S. UCSB 2008, M.S. UCSB 2013• Background in networking and security• Third time teaching
![Page 4: Course Introduction](https://reader036.fdocuments.net/reader036/viewer/2022062410/56815b56550346895dc9389e/html5/thumbnails/4.jpg)
How to make class smoother
• Feedback, feedback, feedback– “Bryce, X doesn’t make sense”– “It might be better if Y”– “I can’t read your handwriting”– “Your going way too fast”
![Page 5: Course Introduction](https://reader036.fdocuments.net/reader036/viewer/2022062410/56815b56550346895dc9389e/html5/thumbnails/5.jpg)
Outline for today
• Review the syllabus• Piazza Demo• Command Line Arguments• Demonstrate the submission and feedback
process
![Page 6: Course Introduction](https://reader036.fdocuments.net/reader036/viewer/2022062410/56815b56550346895dc9389e/html5/thumbnails/6.jpg)
SYLLABUS REVIEW
![Page 7: Course Introduction](https://reader036.fdocuments.net/reader036/viewer/2022062410/56815b56550346895dc9389e/html5/thumbnails/7.jpg)
Problem Solving with Computers II
• Intermediate building blocks for solving problems using computers. Topics include data structures, object-oriented design and development, algorithms for manipulating these data structures and their runtime analyses. Data structures introduced include stacks, queues, lists, trees, and sets.
![Page 8: Course Introduction](https://reader036.fdocuments.net/reader036/viewer/2022062410/56815b56550346895dc9389e/html5/thumbnails/8.jpg)
Course Info
• Instructor: Bryce Boe– Office Hours• Tuesday, 15:30 – 16:30 in Phelps 1413• Wednesday, 11:00 – 12:00 in Phelps 1413
• TAs: Dani, Geoff, and Jon– Current office hours online
• Website: http://cs.ucsb.edu/~cs24
![Page 9: Course Introduction](https://reader036.fdocuments.net/reader036/viewer/2022062410/56815b56550346895dc9389e/html5/thumbnails/9.jpg)
Required Text
• C++ Plus Data Structures, 5th edition– Nell Dale
• Content will supplement lectures
![Page 10: Course Introduction](https://reader036.fdocuments.net/reader036/viewer/2022062410/56815b56550346895dc9389e/html5/thumbnails/10.jpg)
What do you already know?
![Page 11: Course Introduction](https://reader036.fdocuments.net/reader036/viewer/2022062410/56815b56550346895dc9389e/html5/thumbnails/11.jpg)
What you should already know
• C– Primitive types (int, float, double, char)– Loops and conditionals– Functions (declaring and calling)– Arrays– Structures– Memory allocation and de-allocation– Pointers
![Page 12: Course Introduction](https://reader036.fdocuments.net/reader036/viewer/2022062410/56815b56550346895dc9389e/html5/thumbnails/12.jpg)
Grading Distribution
• 42% Projects (3, split evenly)• 20% Final (Monday, December 9)• 18% Labs (10, split evenly)• 16% Midterm (Wednesday, October 30)• 04% Participation
• Final score will not be higher than 15% more than weighted average of midterm and final
![Page 13: Course Introduction](https://reader036.fdocuments.net/reader036/viewer/2022062410/56815b56550346895dc9389e/html5/thumbnails/13.jpg)
Participation
• Earned by:– Participating in class– Answering questions on Piazza– Responding to questions on Piazza
• Participation points are relative to the overall class effort (less positive outliers)
![Page 14: Course Introduction](https://reader036.fdocuments.net/reader036/viewer/2022062410/56815b56550346895dc9389e/html5/thumbnails/14.jpg)
Late Submission Policy
• Grading based off your latest (most recent) submission
• 1% off every 5 minute interval late (don’t be late for lab 1)
• Examples:– Submission at 00:00:00-00:04:59, 1% off– Submission at 00:45:00-00:49:59, 10% off– Submission at 04:05:00-04:09:59, 50% off– Submission on or after 08:15:00, 0%
![Page 15: Course Introduction](https://reader036.fdocuments.net/reader036/viewer/2022062410/56815b56550346895dc9389e/html5/thumbnails/15.jpg)
Grading Petitions
• Applies only to tests• Not required for grading “mistakes”• Must meet the following conditions:– Wait 24 hours after the test was returned to you– Provide a written argument that:
• Clearly states why your answer is suitable for the question
• Acknowledges your understanding of the expected answer
• Compares the two
![Page 16: Course Introduction](https://reader036.fdocuments.net/reader036/viewer/2022062410/56815b56550346895dc9389e/html5/thumbnails/16.jpg)
Attendance
• Lectures:– Strongly encouraged, not required
• Labs:– Encouraged but not required for subsequent labs– You may attend any lab if there is space – priority
is given to those enrolled in the actual section
![Page 17: Course Introduction](https://reader036.fdocuments.net/reader036/viewer/2022062410/56815b56550346895dc9389e/html5/thumbnails/17.jpg)
Lab and Project Partners
• All projects and most labs will be partner-based– You can have a partner starting with lab 2 (next
Monday)• You must use the same partner throughout
the course– Instructor approval is required to change partners
![Page 18: Course Introduction](https://reader036.fdocuments.net/reader036/viewer/2022062410/56815b56550346895dc9389e/html5/thumbnails/18.jpg)
Academic Integrity Discussion
• With those around you discuss the following questions:– What constitutes a violation of academic
integrity?– What sort of collaboration between students are
acceptable?– Why are we having this discussion?
![Page 19: Course Introduction](https://reader036.fdocuments.net/reader036/viewer/2022062410/56815b56550346895dc9389e/html5/thumbnails/19.jpg)
Course Syllabus
• The official course syllabus is viewable on the course website:– http://cs.ucsb.edu/~cs24
![Page 20: Course Introduction](https://reader036.fdocuments.net/reader036/viewer/2022062410/56815b56550346895dc9389e/html5/thumbnails/20.jpg)
Online Interaction
• Avoid class-related emails• Class discussion and online interaction to take
place on Piazza• Piazza allows:– You to ask questions anonymously– Ask questions privately to the instructor and TA– You to respond to questions– Edit questions and answers
![Page 21: Course Introduction](https://reader036.fdocuments.net/reader036/viewer/2022062410/56815b56550346895dc9389e/html5/thumbnails/21.jpg)
Piazza Tips
• Don’t use the answer field to update or respond to your question (edit the question or add a follow-up)
• If you figure out your own question, please go back and answer it (don’t delete or edit-away the question)
• Ask a new question rather than using the follow-up if it is in-fact a follow-up question
![Page 22: Course Introduction](https://reader036.fdocuments.net/reader036/viewer/2022062410/56815b56550346895dc9389e/html5/thumbnails/22.jpg)
Piazza Demo
![Page 23: Course Introduction](https://reader036.fdocuments.net/reader036/viewer/2022062410/56815b56550346895dc9389e/html5/thumbnails/23.jpg)
COMMAND LINE ARGUMENTS
![Page 24: Course Introduction](https://reader036.fdocuments.net/reader036/viewer/2022062410/56815b56550346895dc9389e/html5/thumbnails/24.jpg)
What are command line arguments?
• The groups of characters entered at the command prompt
• ./a.out– {“./a.out”}
• ./fizzbuzz 16– {“./fizzbuzz”, “16”}
![Page 25: Course Introduction](https://reader036.fdocuments.net/reader036/viewer/2022062410/56815b56550346895dc9389e/html5/thumbnails/25.jpg)
How do programmatically handle command line arguments?
![Page 26: Course Introduction](https://reader036.fdocuments.net/reader036/viewer/2022062410/56815b56550346895dc9389e/html5/thumbnails/26.jpg)
int main(int argc, char *argv[])
• argc – contains the number of arguments to the program, i.e., the length of argv
• argv – an array of c-strings (char*), contains argc elements
• Example– ./a.out (argc 1, argv {“./a.out”})
![Page 27: Course Introduction](https://reader036.fdocuments.net/reader036/viewer/2022062410/56815b56550346895dc9389e/html5/thumbnails/27.jpg)
What is the value?
• ./a.out 15– argc?– argv[0]?
• cp file_a file_b /tmp/– argc?– argv[4]?
![Page 28: Course Introduction](https://reader036.fdocuments.net/reader036/viewer/2022062410/56815b56550346895dc9389e/html5/thumbnails/28.jpg)
Submitting your work and receiving feedback
• Refer to http://cs.ucsb.edu/~bboe/cs24_m13/p/submission
![Page 29: Course Introduction](https://reader036.fdocuments.net/reader036/viewer/2022062410/56815b56550346895dc9389e/html5/thumbnails/29.jpg)
For Wednesday
• Begin reading Chapter 1 in the textbook
![Page 30: Course Introduction](https://reader036.fdocuments.net/reader036/viewer/2022062410/56815b56550346895dc9389e/html5/thumbnails/30.jpg)
Questions?