Henning Schulzrinne Dept. of Computer Science Columbia University

Slides:



Advertisements
Similar presentations
Software Engineering About the Course Software Engineering Qutaibah Malluhi Computer Science and Engineering Department Qatar University.
Advertisements

Welcome to CS680! Tue Thu 7pm - 8:15pm :-(
Outline IS400: Development of Business Applications on the Internet Fall 2004 Instructor: Dr. Boris Jukic Server Side Web Technologies: Part 2.
21-Jun-15Advanced Programming Spring 2002 Advanced Programming Henning Schulzrinne Dept. of Computer Science Columbia University.
CSC 171 – FALL 2004 COMPUTER PROGRAMMING LECTURE 0 ADMINISTRATION.
Databases and Database Management System. 2 Goals comprehensive introduction to –the design of databases –database transaction processing –the use of.
CS 898N Advanced World Wide Web Technologies Lecture 1: Introduction Chin-Chih Chang
The Basic Tools Presented by: Robert E., & Jonathan Chase.
INE2720 Web Application Software Development General Information.
COMP 321: Introduction to Computer Systems Scott Rixner Alan L. Cox
CS 3305 Course Overview. Introduction r Instructor: Dr Hanan Lutfiyya r Office: MC 355 r hanan at csd dot uwo ca r Office Hours: m Drop-by m Appointment.
Welcome to CS 3331, Advanced Object-Oriented Programming Fall 2009 Dept. of Computer Science University of Texas at El Paso.
EECE 310 Software Engineering Lecture 0: Course Orientation.
M1G Introduction to Database Development 6. Building Applications.
Course Introduction Software Engineering
20-753: Fundamentals of Web Programming 1 Lecture 1: Introduction Fundamentals of Web Programming Lecture 1: Introduction.
CSC 171 – FALL 2001 COMPUTER PROGRAMMING LECTURE 0 ADMINISTRATION.
CSE 403 Software Engineering Richard Anderson, David Notkin, Valentin Razmov Spring 2005.
Course Information Sarah Diesburg Operating Systems COP 4610.
01 - Course Intro.CSC4071 CSC407S / 2103S Software Architecture & Design Prof. Penny Bahen 5228 Office hours: Wednesdays 10:00 – 11:00.
Course Information Andy Wang Operating Systems COP 4610 / CGS 5765.
LINUX System : Lecture 1 Course Overview Bong-Soo Sohn Associate Professor School of Computer Science and Engineering Chung-Ang University.
Introduction to Computer Programming (FIT-I pro) J. H. Wang Sep. 17, 2007.
January 16, 2007 COMS 4118 (Operating Systems I) Henning Schulzrinne Dept. of Computer Science Columbia University
Object Oriented Programming (FIT-II) J. H. Wang Jan. 31, 2008.
Department of Computer Science, Florida State University CGS 3066: Web Programming and Design Spring
CMPE13Cyrus Bazeghi 1 Welcome to CMPE 13 Computing Systems and C Programming Spring 2009 Cyrus Bazeghi.
01 - Course Intro.CSC4071 CSC407S / 2103S ECE450S Software Architecture & Design (ECE: Software Engineering II) Prof. Penny LP396C
CPIT 251: S OFTWARE E NGINEERING Lecture 1 Introduction to Software Engineering 1.
CS140 – Computer Programming 1 Course Overview First Semester – Fall /1438 – 2016/2017 CS140 - Computer Programming 11.
Advanced Programing practices
Course Overview - Database Systems
Welcome to CS 340 Introduction to Computer Networking
CSc 020: Programming Concepts and Methodology II
Syllabus Introduction to Computer Science
Advanced Programming Dr. Sadi Seker.
IT244 - Introduction to Linux / Unix Instructor: Bo Sheng
Instructor: Elke Rundensteiner
CMSC 611 Advanced Computer Arch.
Course Information Mark Stanovich Principles of Operating Systems
CS533 Concepts of Operating Systems Class 1
CMPE419 Mobile Application Development
Department of Computer Science, Florida State University
Andy Wang Operating Systems COP 4610 / CGS 5765
EECE 310 Software Engineering
Programming Languages
CSCD 330 Network Programming Spring
Andy Wang Operating Systems COP 4610 / CGS 5765
CGS 3763 Operating Systems Concepts Spring 2013
Andy Wang Operating Systems COP 4610 / CGS 5765
CMSC 611 Advanced Computer Arch.
CSCD 330 Network Programming Spring
Systems Programming Intro
Andy Wang Operating Systems COP 4610 / CGS 5765
Computer Programming 1 introduction to JAVA Lecture 1 Instructor: Ruba A. Salamah Islamic University of Gaza.
CS 425 / CS 625 Software Engineering
Andy Wang Operating Systems COP 4610 / CGS 5765
CSCD 330 Network Programming Spring
Course Overview CS 4640 Programming Languages for Web Applications
Advanced Programing practices
Programming Languages
Introduction Andrew Whitaker
Andy Wang Operating Systems COP 4610 / CGS 5765
CS533 Concepts of Operating Systems Class 1
CSCE156: Introduction to Computer Science II
Course Introduction Data Visualization & Exploration – COMPSCI 590
CS201 – Course Expectations
CSC 241: Introduction to Computer Science I
CSCI 1730: C++ and System Programming
Presentation transcript:

Henning Schulzrinne Dept. of Computer Science Columbia University Advanced Programming Henning Schulzrinne Dept. of Computer Science Columbia University Advanced Programming Spring 2002 24-Jun-1824-Jun-18

Overview Background Syllabus Logistics Grading What is Advanced Programming? Differences to “old” Software Engineering Who should be here? Syllabus Logistics Grading Advanced Programming Spring 2002 24-Jun-1824-Jun-18

Background Experimental course – trial run for replacement for traditional CS 3156 (Software Engineering) Sequence: Intro: modules, few dozen lines DS: few hundred lines, stand-alone AP: larger programs, different languages and styles OS, networking, ISP, …: specialized knowledge Advanced Programming Spring 2002 24-Jun-1824-Jun-18

What is Advanced Programming? Become comfortable with multiple languages Multiple programming styles Professional programming: program building multi-person code development systematic debugging performance tuning Goal: robust, performing, industrial- strength code Advanced Programming Spring 2002 24-Jun-1824-Jun-18

Differences to Software Engineering Less emphasis on software engineering principles more on tools and techniques some SE is best read, rather than lectured hopefully, SE will make more sense afterwards… CS4156 will remain Group programming project? Advanced Programming Spring 2002 24-Jun-1824-Jun-18

Who should be here? Know Java (and 313x), but no or little C/C++ Likely doing systems or general track Want to do well in OS, DB, Networks, … Interested in how real systems work Affinity for programming, not complexity theory Advanced Programming Spring 2002 24-Jun-1824-Jun-18

Syllabus C programming language for Java programmers (2 weeks, 2 assignments) summary of differences pre-processor strings stdio pointers and pointer arithmetic malloc/free unions function pointers Advanced Programming Spring 2002 24-Jun-1824-Jun-18

Syllabus Software development models, including open source Software development tools: Unix make automake autoconf -- cross-platform development CVS doc++ and other documentation tools Oxygen gdb and DDD purify, ElectricFence truss Advanced Programming Spring 2002 24-Jun-1824-Jun-18

Syllabus profiling: gprof Windows Visual C Code Warrior Program models: data driven, event driven, cgi, RPC, ... UML Data interchange classical Unix style serialization XML Advanced Programming Spring 2002 24-Jun-1824-Jun-18

Syllabus Scripting languages Standard Unix system call interface: sh awk, sed Tcl, expect Perl Python Standard Unix system call interface: file access time and date manipulation system files process management signals getopt syslog Advanced Programming Spring 2002 24-Jun-1824-Jun-18

Syllabus Internationalization secure programming design patterns web programming models (servlets, cgi, JavaScript, PHP, ...) web database interfaces (JDBC, mySQL, ...) Time permitting (these topics are also covered in CS 4118): threads and concurrency shared memory Advanced Programming Spring 2002 24-Jun-1824-Jun-18

Logistics Web page: http://www.cs.columbia.edu/~hgs/te aching/ap/ Mailing list: advanced-programming@cs.columbia.edu Mailman (lists.cs.columbia.edu) As-written or digest once a day Web archive ~ newsgroup Office hours: Th, 5.30-7.30 pm, 815 CEPSR TA: Nikil Tiwari (nst8@columbia.edu) Advanced Programming Spring 2002 24-Jun-1824-Jun-18

Books - required Advanced Programming in the Unix Environment, by W. Richard Stevens, Addison-Wesley. ISBN 0201563177 Code Complete : A Practical Handbook of Software Construction, by Steve C McConnell, Microsoft Press. ISBN 1556154844 Advanced Programming Spring 2002 24-Jun-1824-Jun-18

Books – useful reading Mythical Man Month, by Frederick P. Brooks, Addison- Wesley. ISBN 0201835959 Building Secure Software, by John Viega and Gary McGraw, Addison Wesley. ISBN 020172152X Software Project Survival Guide, by Steve C McConnell, Microsoft Press. ISBN 0201563177 Advanced Programming Spring 2002 24-Jun-1824-Jun-18

Grading Midterm 30%, final exam 40%, homework assignments 30% Group project(s) - NO Advanced Programming Spring 2002 24-Jun-1824-Jun-18

Assignments Weekly programming assignments To be done individually. Conform to coding style guidelines. You will lose points if you don't follow the guidelines. Advanced Programming Spring 2002 24-Jun-1824-Jun-18

Ombudsperson New course – new problems Designated, random individual Act as relay for “issues” Assumed to speak for (subsection of) class, not themselves Quicker than mid-term review Advanced Programming Spring 2002 24-Jun-1824-Jun-18