Modifying objects Operators and Expressions JPC and JWD © 2002 McGraw-Hill, Inc.
CS 101 Introduction to computer science and software engineering using objected-oriented programming...
-
Upload
silas-booker -
Category
Documents
-
view
220 -
download
0
Transcript of CS 101 Introduction to computer science and software engineering using objected-oriented programming...
CS 101
Introduction to computer science and software engineering using objected-oriented programming
JPC and JWD © 2002 McGraw-Hill, Inc.
Instructors
James P. Cohoon Office: 216 Olsson Hall Office hours: MW 11-
Noon and by appointment
Personal email [email protected]
u Course electronic mail
[email protected] Better response
Thomas Horton Office: 228E Olsson
Hall Office hours: M-R 2-3
and by appointment Personal email
Course electronic mail [email protected]
Better response
Coordinator
Professor: Jane Prey Office: Olsson 228D E-mail: [email protected] Phone: 982-2215
Why you want to know about her Handles problems
Teaching Assistants
Section 3 Thursday 8:30-10:20AM Jennifer MifflinSection 4 Thursday 10:30-12:20PM Jennifer MifflinSection 5 Thursday 12:30-2:20PM Tariq AssafSection 6 Thursday 2:30-4:20PM Tariq AssafSection 7 Thursday 4:30-6:20PM Sagnik BhattacharyaSection 8 Thursday 6:30-8:20PM Ram PoornalingamSection 9 Friday 2:00-3:50PM Christopher LutzSection 10 Thursday 8:30-10:20PM Ram PoornalingamSection 11 Friday 12:00-1:50PM Dana WortmanSection 12 Friday 4:00-5:50PM Christopher LutzSection 13 Friday 10:00-11:50AM Dana Wortman
Class Web Site
Location http://www.cs.virginia.edu/cs101
You are responsible for knowing the material that is there
Assignments, corrections and updates are posted there
Adding This Course
Priority to those who require the course See me immediately after class Lab section choices must be from available sections If you want to take an unnecessary chance, instead
see Professor Jane Prey, Olsson 228-D this week. Must choose from whatever sections are still
available. Teaching assistants cannot sign forms or grant
permission
Labs start Thursday and you must be in lab this week.
Lectures
Organization Two lectures per week A copy of the slides is available in the CS 101
Workbook The slides are also viewable electronically
http://www.cs.virginia.edu/cs101Major topics
Computing Basics Libraries ArraysC++ fundamentals Functions VectorsControl constructs Classes InheritanceAbstract Data Types
LaboratoryMeets once per week in Olsson 001There is lab this week
You must attend this week to save your slot You must attend the lab you for which you are
registeredLaboratory attendance is very important
You must be punctual You must attend the proper section There may be pop quizzes in the labs
LaboratoryLab attendance rule
You are allowed at most two misses for entire semester These two allowances cover illness, weddings,
funerals, and all other emergencies Perfect lab attendance will get you extra credit Each additonal miss after the second costs a letter
grade Lab makeups on Monday nights allow you to capture
knowledge, but do not change the attendance rule
Homework
All assignments are pledged unless indicated otherwise You may receive assistance on the programming assignments from the instructor, teaching assistants, or laboratory assistantsComputer failure or lack of availability of a computer are not valid excuses for late assignmentsThere will be no general extensions for assignmentsSignificant homework assignments will be submitted electronically
Homework
A printed copy of your homework solution must be turned in at the beginning of your laboratory sectionNo late homework assignments will be acceptedSave the electronic versions of your homework until after you receive your final grade
Homework
Unless specified otherwise, programming assignments may be done in teams of twoYour partner must be from the same laboratory section
The first programs are solo efforts The last program is a solo effort The middle programs can be teams of two
ALL HOMEWORKS ARE PLEDGED!All homeworks define what resources may be utilized
Homework
Homework facilities Stacks computer laboratory (Thornton A233)
Top floor of Thornton Hall Microsoft Visual C++ 6.0 Windows NT or Windows 2000
Teaching assistant office hours in Catlin Lab, 7-10 p.m.
Tests
All tests are pledgedThis course should be your highest priority so make-ups should not be necessaryAny scheduling problems need to be resolved at least one week prior to the test or exam in question
Talk to Jane Prey in person at Olsson 228D
Tests
Exam schedule -- plan now for these dates Test 1 – Wednesday, February 21 at 7-9 PM
Test 2 – Wednesday, April 4 at 7-9 PM
Final Exam – Wednesday, May 9, 2001 at 7-10 PM
Grading
Laboratory and class participation will be worth 10 percentProgramming assignments will be worth 30 percentThe two tests and all lab quizzes will be worth 30 percentThe final will be worth 30 percentThese percentages may be adjustedMedian course grade will be a B-
Historically, curving has never been necessary to achieve this median grade
Class participation
Everybody is expected to do the readings, come to lecture
Students will be randomly selected from class roster to participate in lecture
Students might be randomly selected from class roster to pose questions regarding the readings
Course Materials
C++ Program Design: an introduction to programming and object-oriented design, Cohoon and Davidson,McGraw-Hill/WCB, 1999
C++ Program Design: Lab Manual, Cohoon and Davidson,McGraw-Hill/WCB, 1999
Three 3.5-inch floppies The floppies should be double-sided, high-density
ITC's home directory service
Assignments
Go to lab this week
Read chapter 1 before Monday’s lecture
Read chapter 2 before next Wednesday’s lecture
Questions
Questions before we begin?
A C++ Program
// Canonical first program
// Dana Wahoo, January 17, 2001, version 1
#include <iostream>
#include <string>
using namespace std;
int main() {
cout << “Hello world! “ << endl;
return 0;
}
Software Crisis
Common software systems behavior Do not provide required functionality Are over budget with respect to time and money and
computer resource usage Not adaptable to changing user needs
Why User needs are ill-specified Complexity of interactions grows multiplicatively Human cooperation limits Programming is difficult
Software Engineering
Goal Ease the development of reliable, flexible,
economical softwareTechniques
Group management Complexity management Measuring software quality
Caveat Throwing more people at a problem isn’t always the
best way to fix it
C++
Designer Stroustrup
Purpose To implement software tools more quickly, reliably,
and economicallyPrincipal features
Supports object-oriented programming Reusable software components that have both
values and behavior — object