1 Page

facts

Course: LIB 113, Fall 2009
School: Harvard
Rating:
 
 
 
 
 

Word Count: 714

Document Preview

COURSE DESCRIPTION Fall 2008 CSCI-E113 What is this course? This is a course in C and Unix/Linux programming with a focus on using C and Unix to create interactive pages for the World Wide Web. It covers in detail almost of the the C language, it introduces the major tools and ideas of Unix programming, and it shows how to use HTML forms to connect to remote databases. Who is prepared for it? We assume you know...

Register Now

Unformatted Document Excerpt

Coursehero >> Massachusetts >> Harvard >> LIB 113

Course Hero has millions of student submitted documents similar to the one
below including study guides, practice problems, reference materials, practice exams, textbook help and tutor support.

Course Hero has millions of student submitted documents similar to the one below including study guides, practice problems, reference materials, practice exams, textbook help and tutor support.
COURSE DESCRIPTION Fall 2008 CSCI-E113 What is this course? This is a course in C and Unix/Linux programming with a focus on using C and Unix to create interactive pages for the World Wide Web. It covers in detail almost of the the C language, it introduces the major tools and ideas of Unix programming, and it shows how to use HTML forms to connect to remote databases. Who is prepared for it? We assume you know how to write computer programs. In particular, we assume you have written programs in a structured language, that you know about editors, understand the ideas of variables, loops, arrays, functions, and some data structures. If you have not written complicated programs that use these ideas in some language, you will be overtaxed by the course. Administative Details Lectures Wednesdays, 7:35-9:35, short break. Covers ideas, sample programs. Be prepared to take notes. All sample programs used in class will be stored on line, so you can retrieve them and examine and/or print them later. Several assignments, due on Saturday evenings at midnight. See course outline. Must hand in listing and sample run. Must run on the machine at Harvard. Can be developed on any machine. One midterm, one final. Homework 50%, Midterm 20%, Final 30% One hour each week, times to be arranged In the terminal room, times to be arranged Send email with any questions about the course, your homework, or reading, and we shall answer as soon as possible. See our web page for details. Questions of general interest, along with their answers, will be posted on our web site. Need name, address, phone, and section requests The required texts are C Programming, A Modern Approach by King (1st or 2nd edition), Your Unix: The Ultimate Guide, 2nd ed. by Das. A useful supplement is CGI Internet Programming with C++ and C by Felton. The Coop has them. They are for reference and additional examples. The suggested reading does not exactly follow lecture, but is pretty close. The C Programming book explains the language, the Unix book explains how to use Unix. The CGI book gives examples and explains CGI programming in more detail than the course does. The computer facilities at the Science Center are open 24 hours a day. The computers can be used via telnet/ssh over the Internet. Connect to ice.harvard.edu You will obtain a computer account by going to the website: https://www.fas.harvard.edu/fasit/utilities/activate-pin/ . You need a PIN. See your registration materials. http://www.fas.harvard.edu/~lib113/ Homework Exams Grading Sections Office Hours On-Line Help Info Sheets Texts Facilities Accounts Web Site What is the Point of this Course? This is a course in Unix/Linux programming. Unix is an operating system, but it is more than just a control program for computers; it is a complete programming environment based on the idea of software tools. The Unix programming model is one of building complex, powerful solutions by combining simple, special-purpose tools. These tools are data manipulation programs. Every Unix system comes with a wealth of these tools. Tools are usually written in C. Combinations of tools are often written in a scripting language, such as the Unix shell, sh . Unix programming, then, consists of (a) designing and writing tools in C and (b) combining them using sh. Csci-e113 teaches C programming and sh programming. Where does CGI fit into this? To make your n...

Find millions of documents on Course Hero - Study Guides, Lecture Notes, Reference Materials, Practice Exams and more. Course Hero has millions of course specific materials providing students with the best way to expand their education.

Below is a small sample set of documents:

Harvard - LIB - 05
CSCI-E113: Class 5 Pointers 0. Introduction Last week we looked at two types of variables: strings and structs. We saw how to model a train trip by using an array of structs, each struct storing information about the name, time, direction of the trai
Harvard - LIB - 113
CSCI-E113: Class 5 Pointers 0. Introduction Last week we looked at two types of variables: strings and structs. We saw how to model a train trip by using an array of structs, each struct storing information about the name, time, direction of the trai
Harvard - LIB - 113
Assignment 0Not to be Turned InCSCI-E113This assignment is just a suggestion for you to follow to get comfortable using the Unix system. Do not turn in this work, but do report any questions or problems you have as you work through it. 1. Get y
Harvard - LIB - 113
COURSE DESCRIPTIONFall 2008CSCI-E113What is this course? This is a course in C and Unix/Linux programming with a focus on using C and Unix to create interactive pages for the World Wide Web. It covers in detail almost of the the C language, it
Harvard - LIB - 05
csci-e113lecture 5 samples: show-addrs.c : /* * show-addrs.c - show use of & to obtain addresses of variable */ main() { int char float char x; c; a; l[10];page 1printf("x is at %u, c is at %u, a is at %u, l is at %u\n", &x, &c, &a, &l); } : a
Harvard - LIB - 113
csci-e113lecture 5 samples: show-addrs.c : /* * show-addrs.c - show use of & to obtain addresses of variable */ main() { int char float char x; c; a; l[10];page 1printf("x is at %u, c is at %u, a is at %u, l is at %u\n", &x, &c, &a, &l); } : a
Harvard - LIB - 113
csci-e113lecture 3 samples: stationnames : #!/bin/sh # # stationnames - list names of stations # cut -d";" -f5 sched | cut -d"=" -f2 | grep '[a-z]' | sort -u : stationnames.cgi : #!/bin/sh # stationnames.cgi # outputs list of station names as plai
Harvard - LIB - 113
C Coding Style E113 Style Requirements Homework submitted to csci-e113 will be graded on function, design, and readability. An program that implements an excellent algorithm but is unreadable is like an excellent paper on Hamlet scrawled illegibly in
Harvard - LIB - 113
GRADING STANDARDSCSCI-E113ACADEMIC HONESTY The work you submit must be your own work. You may build your code on samples from class or examples from texts, and we encourage students to discuss problems and techniques. Your homework should be all
Harvard - LIB - 113
csci-e113lecture 2 samples: trainsched : #!/bin/sh # trainsched # usage: trainsched train# # action: finds all entries for that TR and selects time and stn cols # if test $# != 1 then echo "usage: trainsched trainnum" exit 1 fi grep "TR=$1" sched
Harvard - LIB - 113
CSCI-E113Lecture 2OutlineTopic: Approach:Software Tools and the Basic Anatomy of C Programs Dissect actual C programsOverview and Intro: Review the big picture: HTML, connector, script, tools Demo: trainsched.htmltrainsched.cgitrainschedtoo
Harvard - LIB - 113
CSCI-E113Lecture 3OutlineTopic: Approach:Strings, Arrays, Functions Build CGI programs, then build the tools they useOverview and Intro Basic Operation of Web Communication Connect, Request, Act, Reply Basic parts of a cgi application: form
Harvard - LIB - 113
CSCI-E113 Student Information Sheet Please complete and hand in at lecture Name: Email address: Phone: Programming Background/Courses: Have You Registered?YES I PLAN TO I PROBABLY WILL I PROBABLY WONTOfce Hours and Additional Section Scheduling In
Harvard - LIB - 113
CSCI-E113Lecture 4OutlineTopic:Strings, CGI, and StructsApproach:Explore Basics, Improve Website Overview and Intro: We have seen four levels of code: form, script, tools, connector Today focus on C data structures and form improvements War
Harvard - LIB - 113
csci-e113lecture 3 samples: empties.c : #include <stdio.h> /* * empties * read lines from standard input * assume lines look like * XX=stuff:YY=morestuff:.:ZZ=yetmorestuff * printout lines that have one or more empty fields * need to read in a lin
Harvard - LIB - 113
csci-e113Actual Data from Web Serer Log (elmo.dce)lecture 03remote_host logname username [time -gmt] "request" response bytes_sentdcepf5.harvard.edu - - [13/Mar/2000:18:45:10 -0500] "GET / HTTP/1.1" 304 dcepf5.harvard.edu - - [13/Mar/2000:18:
Harvard - LIB - 113
CSCI-E113Lecture 3OutlineTopic: Approach:Strings, Arrays, Functions Write Data Cleaning Tools from Small BitsOverview and Intro: Basic Operation of Web Communication Connect, Request, Act, Reply Server keeps a log of all Connections Softwar
Harvard - LIB - 113
csci-e113lecture 3 samples page 1_: stationnames :#!/bin/sh## stationnames - list names of stations#cut -d";" -f5 sched | cut -d"=" -f2 | grep '[a-z]' | sort -u: stationnames.cgi :#!/bin/sh# stationnames.cgi# output
Harvard - LIB - 113
CSCI-E113: Class 3 Strings, Arrays, Functions0. IntroductionLast week we discussed the idea of programming with softwaretools,demonstrated some standard Unix tools, and wrote afew software tools using C. This week, we co
Harvard - LIB - 113
CSCI-E113 Lecture 3 Outline_ Topic: Strings, Arrays, Functions Approach: Build CGI programs, then build the tools they use Overview and Intro Basic Operation of Web Communication Connect, Request, Act, Rep
Harvard - LIB - 113
CSCI-E113 Lecture 3 Outline_ Topic: Strings, Arrays, Functions Approach: Write Data Cleaning Tools from Small Bits Overview and Intro: Basic Operation
Harvard - LIB - 113
csci-e113 lecture 3 samples page 1_ : empties.c : #include <stdio.h> /* * empties * read lines from standard input * assume li
Harvard - LIB - 113
csci-e113lecture 4 samples page 1_: string-ops.c :#include<stdio.h>#include<string.h>/* * string-ops.c - show what operations are not allowed for strings */main(){chars[10], t[10], u[10] = "xyz";/* assignment no
Harvard - LIB - 113
SYLLABUS Fall 2008CSCI-E113__ DATE LECTURE READING SECTION HOMEWORK_ Sep 17 Overview Unix/C and the web Sample Program D: Ch 1,2,3,5 or 6 K:Ch 2,3,4 Using Unix
Harvard - LIB - 113
Unix: A Programming Language Part 1: Train Schedules1. IntroductionUnix is more than a system for running applications andservers. It is a programming language. What does that termmean? Consider popular programming languag
Harvard - LIB - 113
CSCI-E113 Course Outline Fall 2008_IntroductionCsci-e113 teaches C and Unix programming. C and Unix areused for allsorts of programming - scientific, database,financial, text processing, operating systems. Inthisc
Harvard - LIB - 05
CSCI-E113: Class 5 Pointers0. IntroductionLast week we looked at two types of variables:strings andstructs. We saw how to model a train trip by using an arrayof structs, each struct storing information about the name,ti
Harvard - LIB - 113
CSCI-E113: Class 5 Pointers0. IntroductionLast week we looked at two types of variables:strings andstructs. We saw how to model a train trip by using an arrayof structs, each struct storing information about the name,ti
Harvard - LIB - 113
CSCI-E113: Class 2 Starting C0. IntroductionLast week we saw that Unix programming is based on combiningtools into scripts and pipelines. HTML forms and connectorprograms allows people to use these Unix programs over the
Harvard - LIB - 113
GRADING STANDARDSCSCI-E113_ACADEMIC HONESTY The work you submit must be your own work. You may build your code on samples from class or examples from texts, and we encourage students to discuss problems and techniques.
Harvard - LIB - 113
CSCI-E113: Class 4 Strings, CGI, Structs0. IntroductionLast week we continued to extend our HTML and shell skillsas we improved our train schedule web site. On the C end ofthe course, we looked at arrays in general and
Harvard - LIB - 113
CSCI-E113: Class 2 Starting C1m0. Introduction0mLast week we saw that Unix programming is based on combiningtools into scripts and pipelines. HTML forms and connectorprograms allows people to use these Unix programs over t
Harvard - LIB - 113
csci-e113lecture 2 samples page 1_: trainsched :#!/bin/sh# trainsched# usage: trainsched train## action: finds all entries for that TR and selects time and stn cols#if test $# != 1thenecho "usage: trainsched trainnum"
Harvard - LIB - 113
CSCI-E113 Student Information Sheet Please complete and hand in at lecture Name: _ Email address: _ Phone: _Programming Background/Courses: _Have You Registered?YES I PLAN TO I PROBABLY WILL I PROBABLY W
Harvard - LIB - 05
CSCI-E113 Lecture 5 Outline_ Topics: Arrays, Pointers, Functions Approach: Introduce Pointers, Explore their use Main Ideas: Quick Review - Forms, Connector, Scripts, Tools in C Focus tonight on memory usage in C
Harvard - LIB - 113
CSCI-E113 Lecture 5 Outline_ Topics: Arrays, Pointers, Functions Approach: Introduce Pointers, Explore their use Main Ideas: Quick Review - Forms, Connector, Scripts, Tools in C Focus tonight on memory usage in C
Harvard - LIB - 113
C Coding StyleE113 Style Requirements Homework submitted to csci-e113 will be graded on func- tion, design, and readability. An program that imple- ments an excellent algorithm but is unreadable islike an ex
Harvard - LIB - 113
csci-e113 class 119 sep 20041. WelcomeWelcome to csci-e113, Introto C/Unix/CGIprogramming.Tonight's class will introduce you to the topics, goals, andmethods of the course.The outline is:a. brief summary of course
Harvard - LIB - 113
CSCI-E113 Lecture 4 Outline_ Topic:Strings, CGI, and Structs Approach:Explore Basics, Improve Website Overview and Intro: We have seen four levels of code: form, script, tools, connector Today focus on C data struc
Harvard - LIB - 113
Assignment 0 Not to be Turned InCSCI-E113_This assignment is just a suggestion for you to follow to getcomfortable using the Unix system. Do not turn in this work, butdo report any questions or problems you have as you work thro
Harvard - LIB - 113
THE BIG PICTURE Fall 2002CSCI-E113_<html> <head><title>csci-e113 syllabus</title> </head><body bgcolor=white><table width="100%" border=0 bgcolor=linen cellspacing=0 cellpad-ding=3><tr> <td align=left width='25%'> <fon
Harvard - LIB - 113
COURSE DESCRIPTIONFall 2003CSCI-E113DATELECTUREREADINGSECTIONHOMEWORKSep 17Overview Unix/C and the web Sample Program The structure of C programs Functions and filters Arrays and Strings Arrays and Strings More Loops Generating HTML
Harvard - LIB - 113
THE BIG PICTUREFall 2002CSCI-E113<html> <head><title>csci-e113 syllabus</title> </head> <body bgcolor=white> <table width="100%" border=0 bgcolor=linen cellspacing=0 cellpadding=3> <tr> <td align=left width='25%'> <font color='#902830' size=-1>
Harvard - LIB - 113
COURSE DESCRIPTION Fall 2003CSCI-E113__ DATE LECTUREREADING SECTION HOMEWORK_ Sep 17 Overview Unix/C and the web Sample ProgramCR:Ch 3,4,9K:Ch 2,3,4 Using Unix File
Harvard - LIB - 113
GRADING STANDARDSFall 2000CSCI-E113GRADING Homework assignments are graded on a 100 point scale. The 100 points are divided between Function (70 points) and Design (30 points). In software engineering, getting a program that works is only part
Harvard - LIB - 113
Assignment 2: An HTML Table Generator Introduction Our train schedule page produces html reports with nice colors and fonts, but the columns do not line up, and the spacing is too dense. We need a new tool to present schedule data in clear, attractiv
Harvard - LIB - 113
Assignment 2: Extra Credit Introduction The <attributes> section of input to tt2ht allows the user to specify attributes to include in <td> tags for different columns in the output. That way, one column could be right justified, another column could
Harvard - LIB - 113
An Introduction to the UNIX ShellS. R. BourneABSTRACT The shell is a command programming language that provides an interface to the UNIX operating system. Its features include control-flow primitives, parameter passing, variables and string substi
Harvard - LIB - 113
Assignment 4: Symbol Table1. IntroductionIn this assignment you will write a sixth implementation ofthe storage system used by the word frequency program shownin lecture. The main part of the program and shell scriptsto feed
Harvard - LIB - 113
CSCI-E113 Finite State Machines_0. Introduction: Processing TextA lot of Unix programming involves working with text.Unix text processing programs read data in, do somethingwith the data, and write data out. Text files
Harvard - LIB - 113
WELCOME TO vi - NOTE: SET YOUR SCREEN to 80 COLUMNS and 25 ROWSPLEASE NOTE: If at any time it looks as though something terriblehas happened, just type the sequence of characters: q !That is a colon, the letter q, and an exclamati
Harvard - LIB - 113
FINDING THE SOURCE OF A SEGFAULT-1. Compile your program with debugging symbols: % gcc -g -o myprog myprog.c 2. Tell the shell to keep core files: % unlimit coredumpsize - or - % ulimit -c unlimited 3. Run the pro
Harvard - LIB - 113
Assignment 2: Extra CreditIntroductionThe <attributes> section of input to tt2ht allows theuserto specify attributes to include in <td> tags for differentcolumns in the output.That way, one column could be rightjustified, anot
Harvard - TT - 113
Assignment 2: Extra CreditIntroductionThe <attributes> section of input to tt2ht allows theuserto specify attributes to include in <td> tags for differentcolumns in the output.That way, one column could be rightjustified, anot
Harvard - LIB - 113
Assignment 2: An HTML Table GeneratorIntroductionOur train schedule page produces html reports withnicecolorsand fonts, but the columns do not line up, and thespacing is toodense. We need a new tool to presentschedu
Harvard - LIB - 113
CHAPTER 9 On the Early History and Impact of Unix Tools to Build the Tools for a New Millenium "When the barbarian, advancing step by step, had discovered the native metals, and
Harvard - CSCIE - 50
/ RPS.javaimport java.util.*;/* * Game of rock/paper/scissors to demo methods and returns * Demo for CSCI E-50a and CSCI E-50b, 2006 * * @author Jan Jackson * @version 1.0 */public class RPS{ /* final variables for lookup an
Harvard - CSCIE - 50
From jjackson@fas.harvard.edu Wed Feb 20 16:32:46 2008Date: Wed, 20 Feb 2008 16:32:39 -0500 (EST)From: Jan Jackson <jjackson@fas.harvard.edu>To: undisclosed-recipients: ;Subject: Section infoHi All, Just a few items regarding sections, ho
Harvard - CSCIE - 50
From jjackson@fas.harvard.edu Sun Feb 10 16:16:41 2008Date: Sun, 10 Feb 2008 16:16:40 -0500 (EST)From: Jan Jackson <jjackson@fas.harvard.edu>To: undisclosed-recipients: ;Subject: Thursday sectionHi, First of all, welcome to the Thursday s
Harvard - CSCIE - 50
/ NumberGuesser.java/* * This program plays a number guessing game. The program will select a * random number, and ask the user to guess it. Upon success, the total * number of guesses will be displayed. A graphical user interface has
Harvard - CSCIE - 50
/ NumGuessGUI.java/* * This program plays a number guessing game. The program will select a * random number, and ask the user to guess it. Upon success, the total * number of guesses will be displayed. A graphical user interface has *