course introduction bryce boe 2012/08/06 cs32, summer 2012 b
TRANSCRIPT
![Page 1: Course Introduction Bryce Boe 2012/08/06 CS32, Summer 2012 B](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649e315503460f94b21b69/html5/thumbnails/1.jpg)
Course Introduction
Bryce Boe2012/08/06
CS32, Summer 2012 B
![Page 2: Course Introduction Bryce Boe 2012/08/06 CS32, Summer 2012 B](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649e315503460f94b21b69/html5/thumbnails/2.jpg)
About Me (Bryce Boe)
• Ph.D. Candidate in Computer Science Education– Focus on automated assessment
• B.S. in Computer Science from UCSB 2008• Background in networking and security• First time teaching
![Page 3: Course Introduction Bryce Boe 2012/08/06 CS32, Summer 2012 B](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649e315503460f94b21b69/html5/thumbnails/3.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 4: Course Introduction Bryce Boe 2012/08/06 CS32, Summer 2012 B](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649e315503460f94b21b69/html5/thumbnails/4.jpg)
Outline for today
• Review the syllabus• Demo Piazza• Overview HW1• Demonstrate the submission and feedback
process
![Page 5: Course Introduction Bryce Boe 2012/08/06 CS32, Summer 2012 B](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649e315503460f94b21b69/html5/thumbnails/5.jpg)
Object Oriented Design and Implementation
• Advanced topics in object-oriented computing. Topics include encapsulation, data hiding, inheritance, polymorphism, compilation, linking and loading, memory management, and debugging; recent advances in design and development tools, practices, libraries, and operating system support.
![Page 6: Course Introduction Bryce Boe 2012/08/06 CS32, Summer 2012 B](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649e315503460f94b21b69/html5/thumbnails/6.jpg)
Course Info
• Instructor: Bryce Boe– Office Hours• Monday 2:15 – 3:15 PM, GSL• Wednesday 11:15 – 12:15 PM, GSL
• TA: Saeed Mahani– Office Hours• Tuesday 2:00 – 3:00 PM, CSIL• Thursday 1:00 – 2:00 PM, CSIL
• Website: http://cs.ucsb.edu/~cs32
![Page 7: Course Introduction Bryce Boe 2012/08/06 CS32, Summer 2012 B](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649e315503460f94b21b69/html5/thumbnails/7.jpg)
Required Texts
• Problem Solving with C++, 8th edition– Walter Savitch
• Computer Science 32 Reader– Available at the Alternative Digital Printing
![Page 8: Course Introduction Bryce Boe 2012/08/06 CS32, Summer 2012 B](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649e315503460f94b21b69/html5/thumbnails/8.jpg)
What do you already know?
![Page 9: Course Introduction Bryce Boe 2012/08/06 CS32, Summer 2012 B](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649e315503460f94b21b69/html5/thumbnails/9.jpg)
What you should already know
• C and basic C++– Loops and conditionals– Pointers– Functions– Classes– Recursion– Arrays and linked lists– Memory allocation and de-allocation
• Abstract Data Types– Stacks and queues– Trees, binary search trees, and heaps– Hash tables
![Page 10: Course Introduction Bryce Boe 2012/08/06 CS32, Summer 2012 B](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649e315503460f94b21b69/html5/thumbnails/10.jpg)
Student Learning Outcomes
• By the end of this course, you will be able to use the shell to start processes in all possible input/output redirection states.
• Examples:– someprogram < input_file | diff – another_file |
grep “some string” > output_file
![Page 11: Course Introduction Bryce Boe 2012/08/06 CS32, Summer 2012 B](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649e315503460f94b21b69/html5/thumbnails/11.jpg)
Student Learning Outcomes
• By the end of this course, you will have designed an object-oriented project that demonstrates the use of templates, inheritance, polymorphism, friend classes and operator overloading.
• Project 2 will cover each of these topics
![Page 12: Course Introduction Bryce Boe 2012/08/06 CS32, Summer 2012 B](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649e315503460f94b21b69/html5/thumbnails/12.jpg)
Student Learning Outcomes
• By the end of this course, you will be able to justify the selection of a particular sort algorithm for a given task.
• Sorts:– O(n2)• Bubble sort, insertion sort, selection sort• Quicksort (average: n*log(n))
– O(n*log(n)): Merge sort, heapsort
![Page 13: Course Introduction Bryce Boe 2012/08/06 CS32, Summer 2012 B](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649e315503460f94b21b69/html5/thumbnails/13.jpg)
Student Learning Outcomes
• By the end of this course, you will be able to step-through the process the operating system performs to load a program into memory.
• System calls:– fork, exec, dup, wait
![Page 14: Course Introduction Bryce Boe 2012/08/06 CS32, Summer 2012 B](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649e315503460f94b21b69/html5/thumbnails/14.jpg)
Student Learning Outcomes
• By the end of this course, you will be able to identify where in a process's memory structure a defined variable is located.
• Segments:– text– data– bss– heap– stack
![Page 15: Course Introduction Bryce Boe 2012/08/06 CS32, Summer 2012 B](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649e315503460f94b21b69/html5/thumbnails/15.jpg)
Grading Distribution
• 24% Projects (2)• 24% Labs (5)• 24% Final (Wednesday Sept. 12)• 16% Midterm (Wednesday Aug. 22)• 08% Homework (2)• 04% Participation
![Page 16: Course Introduction Bryce Boe 2012/08/06 CS32, Summer 2012 B](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649e315503460f94b21b69/html5/thumbnails/16.jpg)
Participation
• Earned by:– Participating in class– Answering questions on Piazza– Responding to questions on Piazza– (Maybe) editing questions and answers for clarity
on Piazza• Participation points are relative to the overall
class effort
![Page 17: Course Introduction Bryce Boe 2012/08/06 CS32, Summer 2012 B](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649e315503460f94b21b69/html5/thumbnails/17.jpg)
Late Submission Policy
• Grading based off your latest (most recent) submission
• 1% off every 5 minute interval late• 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 18: Course Introduction Bryce Boe 2012/08/06 CS32, Summer 2012 B](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649e315503460f94b21b69/html5/thumbnails/18.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 19: Course Introduction Bryce Boe 2012/08/06 CS32, Summer 2012 B](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649e315503460f94b21b69/html5/thumbnails/19.jpg)
Attendance
• Lectures:– Strongly encouraged, not required
• Labs:– Required for the first lab (unless already notified)– Encouraged but not required for subsequent labs
![Page 20: Course Introduction Bryce Boe 2012/08/06 CS32, Summer 2012 B](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649e315503460f94b21b69/html5/thumbnails/20.jpg)
Academic Integrity Discussion
• Break into groups of 4 or 5• 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 21: Course Introduction Bryce Boe 2012/08/06 CS32, Summer 2012 B](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649e315503460f94b21b69/html5/thumbnails/21.jpg)
Excluded Topics
• Topics normally taught in CS32– Unix programming tools– Program building– Libraries
• Topics in textbook not covered– Separate compilation and namespaces– Exception handling
![Page 22: Course Introduction Bryce Boe 2012/08/06 CS32, Summer 2012 B](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649e315503460f94b21b69/html5/thumbnails/22.jpg)
Course Syllabus
• The official course syllabus is viewable on the course website:– http://cs.ucsb.edu/~cs32
• It will be updated as necessary
![Page 23: Course Introduction Bryce Boe 2012/08/06 CS32, Summer 2012 B](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649e315503460f94b21b69/html5/thumbnails/23.jpg)
Online Interaction
• Avoid class-related emails• Class discussion and online interaction to take
place on Piazza– https://piazza.com/class#summer2012/cs32
• 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 24: Course Introduction Bryce Boe 2012/08/06 CS32, Summer 2012 B](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649e315503460f94b21b69/html5/thumbnails/24.jpg)
Piazza Demo
• https://piazza.com/class#summer2012/cs32
![Page 25: Course Introduction Bryce Boe 2012/08/06 CS32, Summer 2012 B](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649e315503460f94b21b69/html5/thumbnails/25.jpg)
Homework 1, FizzBuzz
• http://cs.ucsb.edu/~cs32/p/hw1
![Page 26: Course Introduction Bryce Boe 2012/08/06 CS32, Summer 2012 B](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649e315503460f94b21b69/html5/thumbnails/26.jpg)
Submitting your work
• Refer to http://cs.ucsb.edu/~cs32/p/automated_feedback
• Feedback is sent to your @cs.ucsb.edu email– Most likely forwarded to your umail– Also try both servers on:• https://webmail.engr.ucsb.edu/
![Page 27: Course Introduction Bryce Boe 2012/08/06 CS32, Summer 2012 B](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649e315503460f94b21b69/html5/thumbnails/27.jpg)
Feedback Caveats
• Output produced prior to a segfault will not be shown– It will appear as if your program produced no output– There is no other indication your program segfaulted
• Trailing whitespace on lines may not be possible to detect– You should never have trailing whitespace unless
otherwise specified
![Page 28: Course Introduction Bryce Boe 2012/08/06 CS32, Summer 2012 B](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649e315503460f94b21b69/html5/thumbnails/28.jpg)
For tomorrow
• Complete HW1• Read as much of “Operating systems, Unix and
shells” in the Reader as you can
![Page 29: Course Introduction Bryce Boe 2012/08/06 CS32, Summer 2012 B](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649e315503460f94b21b69/html5/thumbnails/29.jpg)
Questions?