440 likes | 797 Vues
Agenda. Course MechanicsPrerequisitesInstructorTextbooksCourse ComponentsAssignmentsPoliciesEvaluationCourse OverviewSyllabusLanguages
E N D
1. CS 2130 Presentation 01
Course Introduction
3. Course Mechanics
4. Prerequisites CS 1501/1311/1321 Introduction to Computing
Pseudocode
Scheme
Intro to OO
Equivalent
CS 1502/1312/1322 Introduction to Object Oriented Programming
Java
Intro to C
5. Instructor Bill Leahy
Email: bleahy@cc.gatech.edu
(Don't duplicate)
Office: CCB 121
Office Hours:
Tuesday/Thursday 1:30 - 3:00 and 4:30 - 6:00
By appointment
6. Textbooks Introduction to Computing Systems : from bits and gates to C and beyond
ISBN: 0-07-246750-9
Yale N. Patt and Sanjay J. Patel
McGraw Hill
Available at Engineer's Bookstore
7. Textbooks Compiler Construction Principles and Practice by Kenneth C. Louden
PWS Publishing Company, 1997 (now a part of Brooks/Cole) ISBN 0-534-93972-4
8. Textbooks Unix for Programmers and Users, Third Edition by Graham Glass and King Ables
Pearson Education 2003 (now a part of Prentice Hall) ISBN 0-13-046553-4
9. Course Components Lecture: Tuesday, Thursday
Section A: 12:05 p.m. 1:25 p.m.
Section B 6:05 p.m. - 7:25 p.m.
Theory, big picture
Questions always welcome
Will use PRS equipment
10. Course Components Lab: Per Oscar Schedule (Monday/Tuesday)
3:05, 4:35 or 6:35 p.m.
Coding Questions/Timed
Hands on
In CoC 103 (The Big Cluster!)
Recitation: Per Oscar Schedule (Wednesday/Thursday)
3:05 or 4:35 or 6:35 p.m.
STARTS THIS WEEK!!!
Contact time with TA's
TA's review common mistakes
Homework Help/Test Reviews
11. Policies You are expected to attend lecture, recitation and lab
Students scheduled for lecture have priority for seating
Must attend scheduled recitation and lab unless prior arrangements have been made.
Courtesy
No cell phones
No beepers
Be on time
No whispering
No alarms
12. CS 2130 Rules and Regulations 1. Academic misconduct is taken very seriously in this class. We will analyze what you turn in against other students submissions in the current semester as well as previous semesters. Unless otherwise instructed, you are required to do your own work without looking at other students code no matter what the source is. You are also expected and required to report any incidents of academic misconduct to the course instructor or to the Dean of Students responsible for Academic Misconduct. Failure to do so is in itself Academic Misconduct.
13. CS 2130 Rules and Regulations 2. You are responsible for turning in assignments on time. This includes allowing for unforseen circumstances. You are also responsible for insuring that what you turned in is what you meant to turn in. Jaws includes a getback feature: This allows you to retrieve exactly what you submitted and insure that it works. Take advantage of this feature.
3. In general, programming assignments should be turned in with a Makefile and all files needed to compile and run the program. The TA grading your submission should be able to make and run your program without adding files, repairing things etc.
14. CS 2130 Rules and Regulations 4. Tests and examinations must be taken at the scheduled date and time. Please do not ask for special treatment because you (or your parents) have purchased non-refundable airline tickets. The safe time to travel is at the end of or after finals week. The finals schedule published at the beginning of the semester is TENTATIVE. The official schedule gets published very late in the semester.
15. CS 2130 Rules and Regulations 5. If you need a certain grade in order to stay in school, maintain a scholarship, etc. the time to worry about this is right from the beginning of the course not during the week before finals. Grades are based on demonstrated performance not individual need based on factors external to the course. Please do not request special consideration based on this type of situation.
6. Final grades will be available from OSCAR normally sometime the week after finals. You may review your final and discuss your grades during the following semester in which you are attending Ga Tech. Grades will not be discussed over break.
16. CS 2130 Rules and Regulations 7. If you have any personal problems (family/illness/etc.) please go to the Dean of Student's (Gail DiSabatino) office located in the Student Services Building (Flag Building) next to the Student Center. She is equipped and authorized to verify the problems and she will issue a note to all your instructors making them aware of the problem and requesting whatever extension, etc. is necessary.
17. CS 2130 Rules and Regulations 8. The .announce newsgroup should be read every day. Official announcements about course matters will be posted there. The other course newsgroups are for posting technical questions about assignments, tests etc. Complaints, questions about your personal problems, etc. should be discussed with your instructor in person or via email.
18. CS 2130 Rules and Regulations 9. Out of consideration to your fellow students please turn off cell phones, beepers, writwatch alarms, etc. Also, make every effort to be on time for class. If you unavoidably late, please sit near the back and try to avoid as much disruption to the class as possible.
10. If you are graduating and need this course to do so please inform your instructor as soon as possible.
11. Complaints about any aspect of the course should be directed to the course instructor during office hours or via email.
19. CS2130 Submissions must Compile
Not produce any warnings when compiled with
gcc -Wall -O2 -ansi -pedantic
Not produce any splint messages
Note: Run splint against all files to be submitted
Not core dump, seg fault, etc.
Not produce spurious output
Not leak memory
20. Resources Newsgroups
git.cc.class.cs2130.announce
git.cc.class.cs2130.questions
git.cc.class.cs2130.homeworks
git.cc.class.cs2130.labs
Course Management Software: WebWork
21. Web Page http://www.cc.gatech.edu/classes/AY2004/cs2130_fall/
22. Co-Web http://swiki.cc.gatech.edu:8080/cs2130
Lots of stuff there from previous semesters
This semester's stuff available "soon
23. Evaluation Participation (PRS) 10%
Homework (Collaboration) 10%
Labs 20%
Project 10%
Tests (2 @ 15%) 30%
Final 20%
Total 100%
24. Participation Will be using PRS (Personal Response System)
Allows multiple choice questions, surveys
Grade based
partly on answering questions
partly on answering questions correctly
Do not walk off with units
Do not break units ($60)
More later
25. Course Overview C Programming
Including data structure manipulation
Translation
Language Features
26. SyllabusPreliminary: Subject to Change C PROGRAMMING:
Hardware Model
Datatypes
Expressions and Operators
C Programming Structures
C Preprocessor
Storage Classes
Pointers and Arrays
Stack Frames
Dynamic Allocation
Strings
Structs and Unions
C Data Structures
27. SyllabusPreliminary: Subject to Change LANGUAGE TRANSLATION
Formal Language Concepts
Regular Expressions
Finite State Automata
Scanning
Top-Down Parsing
Attribute Grammars
Symbol Tables
Code Generation
Optimization
28. SyllabusPreliminary: Subject to Change LANGUAGE FEATURE IMPLEMENTATION
Floating Point Implementation
Heap Implementation
Run time considerations
29. Official Syllabus Available on the class web page
30. Languages & Translation Learn C Programming Language
Portability
Systems programming capable
Widely used in Ga Tech CoC
Gets close to machine
Translation & Interpretation
Heart of computer science
Key concept
Widely used
31. Getting Your Account If you have an active CoC account do nothing!
Example: sk8r.boi@cc.gatech.edu
If you already have a CoC account and it's inactive
You need to go to CNS (CCB 140) and get it reactivated
If you have never had a CoC account request one via the web: http://www.cc.gatech.edu/cns/forms/account_form.html
32. Programming Environment All programs written and tested in a "UNIX-like" programming environment
UNIX written "by programmers, for programmers"
Support for C programming
Good software tools
Crash-resistant
33. What flavors of UNIX? Officially supported platform (programs will be tested and graded here)
Red Hat 9.0 Linux
Available on helsinki, CoC labs, or install at home
34. What flavors of UNIX? Unofficially supported (may be used for some development work, but test it on an "official" platform before turning in!)
Mac OS X
Cygwin on Win 9x/NT/2000/XP
Solaris 8 (lennon)
Install at home
35. Installing Software Installing Solaris
Intel version (x86) can be downloaded free
http://www.sun.com/software/solaris/binaries/
Not recommended unless you enjoy pain
Installing Redhat 9.0
Most accurately duplicates lab environment
Requires separate disk drive or partition (back up your hard disk!)
Free CDs available from Linux Users Group (LUG)
http://www.lugatgt.org/
Or download from Georgia Tech Linux FTP site
ftp://ftp-linux.cc.gatech.edu/pub/Linux/index.html
36. Installing Software (cont) Installing Mac OS X
Easiest to install for Mac users (uses existing disk partition)
If you are a Mac user, you will have to get it eventually anyway, so why not start now?
Disadvantage: only one that's not free :-(
Installing Cygwin
Easiest to install for Windows users (uses existing disk partition)
Two versions:
Command Line http://sources.redhat.com/cygwin/
X Windows http://sources.redhat.com/cygwin/xfree
You are running in a linux-like environment not linux!
37. Requirements for Assignments All programming assignments must
compile cleanly (i.e. no warnings or errors) with
gcc -Wall -O2 -ansi -pedantic
splint cleanly
exit gracefully
produce useful output where applicable
Capital crimes (== automatic 0)
non-compiling or non-linting programs
core dumps (or any ungraceful exit)
infinite loops
excessive spurious output
38. Course Philosophy Self-reliance
CS 1/CS2 offer certain amount of hand-holding
This is the first "real" CS/CmpE Course
Preparation for real world
Figure it out!
39. Chain of Command Textbook
Online Manuals (RTMP...see man man)
Web Search Engine
Newsgroups
TA/STA
Head TA's
Sect A (Noon) Jason Whitehurst (jasonmac@cc.gatech.edu)
Sect B (6 pm) Geoff Meyers (jinx@cc.gatech.edu)
Bill Leahy
40. Keys to Success Do all assigned readings and work
Slackware is just a catchy name
Form a study group
Start early
Use the resources
EXPERIMENT!!!
Remember: This is Computer Science not Rocket Science
Debugging is 90% psychological
41. Questions?
42. The Rainfall Problem First used by Elliot Solloway at Yale
Depressing results
Situation hasn't changed much
New head-on approach!
43. The Rainfall Problem Write a program that will read in rainfall values (decimal numbers)
Ignore negative values
Terminate on greater than 999.0
Print out average rainfall