1 / 33

CS 2130

CS 2130. Lecture 1 Course Introduction. Agenda. Course Mechanics Prerequisites Instructors Textbooks Course Components Assignments Policies Evaluation Course Overview Syllabus Languages & Translation Programming Environment Friendly/Fatherly Advice. Course Mechanics.

azia
Download Presentation

CS 2130

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CS 2130 Lecture 1 Course Introduction

  2. Agenda • Course Mechanics • Prerequisites • Instructors • Textbooks • Course Components • Assignments • Policies • Evaluation • Course Overview • Syllabus • Languages & Translation • Programming Environment • Friendly/Fatherly Advice

  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. Instructors • Bill Leahy • Email: bleahy@cc.gatech.edu (Don't duplicate) • Office Hours: Tuesday/Thursday 4:30 - 6:00 and by appointment • Jim Greenlee • Email: jkg@cc.gatech.edu • Office Hours: Tuesday/Thursday 9:30 - 11:00 and by appointment

  6. Textbooks • Languages and Translation • Pearson Custom Publishing Available from Engineer’s Bookstore • Notes taken from • Efficient C Programming • Mark Allen Weiss • Advanced Unix Programming • Warren Gay Note: There are two indexes

  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 If this is not available don’t worry. We won’t use it for a while.

  8. Optional Book • lex & yacc (2nd Edition) • Levine, et al • O’Reilly & Associates • Probably not worth buying just for this class - borrow it if you can

  9. Course Components • Lecture: Tuesday, Thursday • Jim Greenlee 8:05 - 9:25 • Bill Leahy 12:05 - 1:25 • Theory, big picture • Questions always welcome • Recitation: Per Oscar Schedule • Contact time with TA's • TA's review common mistakes • Ungraded quiz • Lab: Per Oscar Schedule STARTS THIS WEEK!!! • Coding Questions • Hands on Oscar says next weekbut go to a lab this week!!! Preferably your own.

  10. 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 (see Administrative Information document posted on-line) • Courtesy • No cell phones • No beepers • Be on time • No whispering • No alarms

  11. Resources • Newsgroups git.cc.class.cs2130.announce git.cc.class.cs2130.questions git.cc.class.cs2130.homeworks git.cc.class.cs2130.labs • Useful Documentation Files (On Acme) ~cs2130/pub/docs • Course Management Software (On Acme) workon cs2130 printdoc

  12. Co-Web • http://swiki.cc.gatech.edu:8080/cs2130 • Lots of stuff there from previous semesters • This semester's stuff available "soon“ • Diary: akbar@cc

  13. Evaluation • Homework (Collaboration) 5% • Labs 20% • Project 15% • Tests (2 @ 15%) 30% • Final 30% • Total 100%

  14. Course Overview • C Programming • Language Translators & Interpreters: Introduction • Language Translators & Interpreters: Advanced

  15. SyllabusPreliminary: Subject to Change • C PROGRAMMING: • Expressions and Operators • C Programming Structures • C Preprocessor • Storage Classes • Pointers and Arrays • Stack Frames • Dynamic Allocation • Strings • Structs and Unions • C Data Structures

  16. SyllabusPreliminary: Subject to Change • LANGUAGE TRANSLATORS & INTERPRETERS - INTRODUCTION: • Formal Language Concepts • Regular Expressions • Finite State Automata • Scanner Generators • Top-Down Parsing • Bottom-Up Parsing • Attribute Grammars • Symbol Tables • Parser Generators • Optimization

  17. SyllabusPreliminary: Subject to Change • LANGUAGE TRANSLATORS & INTERPRETERS - ADVANCED TOPICS: • Data Types • Functional Programming • Functional Optimizations • Floating Point Implementation • Heap Implementation • Garbage Collection • Class & Object Implementation

  18. SyllabusPreliminary: Subject to Change • Additional Possibilities • Variable arguments to functions • Adding/subtracting/multiplying/dividing of floats • Implementation of polymorphism and inheritance

  19. Official Syllabus • Will be posted to .announce newsgroup: git.cc.class.cs2130.announce • Also on the Co-Web

  20. 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

  21. 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 • 100% DOJ-approved! • UNIX never the subject in anti-trust lawsuit

  22. What flavors of UNIX? • Officially supported platforms (programs will be tested and graded here) • Solaris • Red Hat 7.1 Linux • Available in CoC labs, or install at home

  23. 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 • Install at home

  24. 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 7.1 • 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

  25. Installing Software (cont) • Installing Mac OS X • Easiest to install for Mac users (uses existing disk partition) • Greenlee likes it (good for brownie points) • 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 • Disadvantage: Greenlee will make fun of you for using Windows

  26. Why Linux and Solaris • Installing and running Linux (i.e being the system administrator) is a very valuable experience • Solaris will find errors that Linux will not find • Good practice for real world

  27. Requirements for Assignments • All programming assignments must • compile cleanly (i.e. no warnings or errors) with gcc -Wall -O2 -ansi -pedantic • lint cleanly where appropriate (Solaris) • 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 • More details in Administrative Information document

  28. 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!

  29. Chain of Command • Textbook • Online Manuals (RTFMP) • Web Search Engine • Newsgroups • TA • Jim Greenlee • Textbook • Online Manuals (RTFMP) • Web Search Engine • Newsgroups • TA • Bill Leahy

  30. Keys to Success • Do all assigned work • Slackware is just a catchy name • Start early • Use the resources • Remember: This is Computer Science not Rocket Science • Debugging is 90% psychological

  31. Origins • War and Ballistics • Stored Program Computer • Mechanizing Program Translation

  32. PDP - 11 LDA EXM CONT HLT STRT DEP ENB

More Related