This document provides information about the PIC 10A Introduction to Programming course being offered in Spring 2013 at UCLA. It outlines the instructor and teaching assistant contact details, course objectives to learn C++ programming, required textbook, grading breakdown, exam dates and policies, homework assignments and submission process, academic honesty policies, recommended PIC lab for working on assignments, and a tentative course schedule with topics, readings, and due dates for each week.
This document provides information about the PIC 10A Introduction to Programming course being offered in Spring 2013 at UCLA. It outlines the instructor and teaching assistant contact details, course objectives to learn C++ programming, required textbook, grading breakdown, exam dates and policies, homework assignments and submission process, academic honesty policies, recommended PIC lab for working on assignments, and a tentative course schedule with topics, readings, and due dates for each week.
This document provides information about the PIC 10A Introduction to Programming course being offered in Spring 2013 at UCLA. It outlines the instructor and teaching assistant contact details, course objectives to learn C++ programming, required textbook, grading breakdown, exam dates and policies, homework assignments and submission process, academic honesty policies, recommended PIC lab for working on assignments, and a tentative course schedule with topics, readings, and due dates for each week.
This document provides information about the PIC 10A Introduction to Programming course being offered in Spring 2013 at UCLA. It outlines the instructor and teaching assistant contact details, course objectives to learn C++ programming, required textbook, grading breakdown, exam dates and policies, homework assignments and submission process, academic honesty policies, recommended PIC lab for working on assignments, and a tentative course schedule with topics, readings, and due dates for each week.
Course Objectives: To learn the basic principles and tools of procedural and object-oriented programming. To be able to understand and debug written C++ code. To be able to design and implement your own C++ programs. To develop sound programming techniques.
Textbooks: Big C++, 2 nd Edition, by Cay Horstmann & Timothy Budd (Required)
Grading: Your final grade will be computed according to the following formula: Homework Mean: 30%, Midterm I: 15%, Midterm II: 15%, Final Exam: 40%
Your overall average guarantees that you will receive at least the grade shown:
[87,90) B+ [77,80) C+ [67,70) D+ [93,100] A [83,87) B [73,77) C [63,67) D [0, 61) F [90, 93) A- [80,83) B- [70,73) C- [61,63) D-
The percentage required for a particular grade may be lowered; it will not be raised. An A+ is awarded for exceptional work throughout the quarter.
Exams: There will be two fifty-minute in class written exams and a cumulative three- hour written final exam on the dates and times posted in the Course Outline and Schedule. Students unable to attend an exam must notify the instructor before the exam date if possible; otherwise, as soon as possible after the missed exam date. Documented medical reasons, religious observances, and family emergencies are examples of acceptable excuses to miss an exam. However, conflicts with vacation or travel plans are not acceptable excuses. If you are excused from taking an exam (not the final exam), your percentage score on a portion of the final exam determined by the Instructor will become your excused exam score. Taking the final exam is necessary for passing this course.
You must bring your UCLA identification card to every exam. You are not allowed to consult books, notes, the Internet, laptops, digital media, cell phones, pagers, another student, or another student's exam during any exam. Please shut off and completely stow away all electronic devices during the entire exam period.
The fifty-minute exams will be returned to you in discussion section and your TA will go over the exam at that time. Any questions regarding how the exam was graded must be submitted in writing with your exam to the TA at the end of section that day. No regrade requests will be allowed after section that day whether or not you attend section. If you anticipate missing section that day due to a family emergency or a medical reason, email the instructor beforehand to make arrangements to go over your exam.
Homework: To help you gain experience in C++ programming, there will be eight or nine homework assignments. You will upload the requested source code files to our courses CCLE website before the due date and time posted on CCLE. The lowest homework score will be dropped. No late homework will be accepted. No homework submitted by email to the TA or the instructor will be accepted. You are solely responsible for naming your files correctly and for checking in advance that you submitted them correctly. Any questions on how your homework was graded must be presented in person and in writing to the instructor within one week of its return in discussion section. You are responsible to check the course CCLE website regularly for homework due dates, announcements, and additional homework instructions.
Academic Honesty: You are encouraged to discuss aspects of the course with other students. You may discuss the homework assignments in general terms with others. By general terms, I mean discuss using words and abstract ideas, not actual code. This will allow you to truly understand what you are doing. If you need more specific help in writing your programs, you may consult the TA or the instructor only. You may not copy or cite any part of a program or document written by someone else in your homework solution. (This also pertains to solutions found online.) Homework solutions will be monitored for copied code. You must write your own independent homework solution.
PIC Lab: Use the PIC Computer Laboratory in Boelter 2817 to work on your homework assignments. Check the PIC lab website for hours of operation. You may also work from a remote location as long as your solution still works using the PIC Lab computers and is readable after you upload it completely to the correct location.
If you want to succeed in this course:
1. Read the entire section in the textbook before we cover it in lecture, keeping a pad of paper handy. When you have a question or do not understand something, write it down immediately on the paper and move on. When you are finished reading, ask me or someone about it.
2. When creating a C++ program, always code a little, then compile, then run a test. Never try coding a large portion of program at once since this makes it harder to track down your bugs. You actually save yourself time in the long run by coding this way.
3. Comment your code, use whitespace wisely, and choose descriptive identifiers to make your code more readable.
4. Test the example code given in class to see how it runs.
5. Make up your own examples using the example code as a base.
6. Avoid cutting, copying, and pasting code into your program. You will learn how to code things faster, eliminate bugs, and remember what you did by typing everything out.
7. When in doubt about how something in C++ works, do an experiment!
8. Go over your graded homework assignments and exams as soon as possible to make sure you understand what you got wrong. Come see me or the TA if you dont.
9. Do at least 45 minutes of coursework every day. Like any other foreign language, C++ needs to be practiced every day.
10. Remember that programming is learned by doing.
PIC 10A Lecture 1 Spring 2013 Tentative Course Outline and Schedule
Date Lecture Topic Readings Exams and HW Due Dates Week 1 4/1-4/5 Introduction to C++ Computers, Programming Languages Creating C++ Programs Variables, Identifiers, Constants, Operators, Arithmetic 1.1-1.11, 2.1-2.5 Appendix A Appendix D Hw 1: 4/5 Week 2 4/8-4/12 Comments, Casts, Enumerated Types, Operator Associativity and Precedence Appendix C p.54 Hw 2: 4/12 Week 3 4/15-4/19 Strings, Formatting Output Specifying Control Flow char and string ordering, Short-Circuit Evaluation, More Control Structures 2.6, 3.1, 3.2, 3.3, 3.4, 3.5
Hw 3: 4/19 Week 4 4/22-4/26 Random Numbers, Input Validation the for loop 3.6, 3.7, 3.8, 3.11 Exam I: 4/22 Hw 4: 4/26 Week 5 4/29-5/3 More Control Flow, Functions 4.1-4.5 Hw 5: 5/3 Week 6 5/6-5/10 More Functions Solving Problems with Functions 4.6-4.9 10.3, 10.6