1 / 13

CS 112 Introduction to Programming

2. Introduction. Programming is to solve problems using computersHow to do it at all ?How to do it robustly ?How to do it effectively ?Programming consists of two steps:Algorithmic design (the architects)Coding (the construction workers)Programming requires:A programming language (e.g., C

johana
Download Presentation

CS 112 Introduction to Programming

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 112 Introduction to Programming Lecture 1: Introduction Zhong Shao Department of Computer Science Yale University 314 AK Watson, Phone: 432-6828 Email: zhong.shao@yale.edu

    2. 2

    3. 3 Why CS112 ? Computer is becoming ubiquitous … programming gets you more out of computer learn how to solve problems dealing with abstractions be more precise Unfortunately, most people know little about Computer Science know little about Programming write bad or buggy programs become lost when writing large programs What can help? Take CS112 !

    4. 4 This Course The goal of cs112 is to learn elementary and intermediate programming techniques how to craft medium and large programs C# programming language (Java is similar) important algorithms and data structures software tools and operating systems in-depth knowledge about Computer Science A heavy programming course Use Microsoft Visual Studio . NET C# Compiler via Remote Desktop Client to three cs112 servers Intended mainly as you first programming course

    5. 5 Crafting Programs Effectively Program design design process stepwise refinement & top-down design bottom-up design modularization, interfaces use of abstractions Programming style structured programming readable code effective use of language constructs “formatting” software organization Documentation and comments

    6. 6 Algorithms and Data Structures Algorithm: a strategy for computing something, e.g., sorting: putting data in order by key searching: finding data in some kind of index finding primes and generating random numbers string processing graphics: drawing lines, arcs, and other geometric objects Data structure: a way to store data, e.g., arrays and vectors linked lists Two are related: data structures organize data algorithms use that organization

    7. 7 Java Programming Language Sun Microsystems corporate research project (1991) Code-named Green, led by James Gosling and Bill Joy Based on C and C++ Intended for intelligent consumer-electronic devices Lack of popularity almost causes cancellation Sudden popularity of WWW provides new potential Java capable of dynamic content (e.g., animation, interaction) Grabbed attention of business community Now very widely used Enhance functionality of WWW servers Provide applications for consumer devices

    8. 8 .NET Framework Introduced by Microsoft (June 2000) Vision for embracing the Internet in software development Heart of .NET strategy Language- and “platform-” independence Visual Basic .NET, Visual C++ .NET, C# and more Includes Framework Class Library (FCL) for reuse Executes programs by Common Language Runtime (CLR) Programs compiled to Microsoft Intermediate Language (MSIL) MSIL code translated into machine code (Unlike Java) this is mostly Windows (MS) centric There is a Linux port (see the Mono project)

    9. 9 C# Programming Language Developed at Microsoft by Anders Hejlsberg et al Event driven, object oriented, visual programming language Based from C, C++ and Java Incorporated into .NET platform Web based applications can be distributed Programs that can be accessed by anyone through any device Allows communicating with different computer languages Integrated Design Environment (IDE) Makes programming and debugging fast and easy Rapid Application Development (RAD)

    10. 10 Why C# and Java in CS112 ? They support so-called safe internet programming They are simpler than other object-oriented languages [C++] They are safe and robust --- no core dump or dead console They have good graphics package They are related to C and C++ They have good client-server and network support They are good for your summer job However, they are not easy to learn; each has many features … Right now, C# has a better buzz than Java

    11. 11 Learning C# Just like learning any new language Syntax: “new words” Grammar: how to put them together Programming: telling a coherent story Library: use plots already written Initially overwhelming, but pays off in the end! Picking up Java and C++ after C# should be easy!

    12. 12 Course Information Textbook: Computing with C# and .NET Framework by Art Gittleman Information, assignments, & lecture notes are available on-line. We won’t use much paper ! Official URL: http://flint.cs.yale.edu/cs112 Course newsgroup: yale.cs.cs112 For help, send email to cs112@cs.yale.edu or cs112ta@cs.yale.edu Please read online information at least once every two days!

    13. 13 Course Assignments 8 – 9 assignments in all Mostly programming; from small & easy to large & difficult Due on the date specified on the schedule sheet Assignments available online (no paper handout! ) Any C# programming environment would work! Microsoft Visual Studo . NET (C# IDE) Need 3.3 GB disk space & 256 MB memory .NET Framework SDK (batch C# compiler, ~130 MB disk space) Both are free to cs112 students We provide three Windows servers cs112-a.cs.yale.edu, cs112-b.cs.yale.edu, cs112-c.cs.yale.edu Use Remote Desktop Client to login (available on Windows, Mac, Linux) All assignments must be submitted online (see the web site for detail) Two exams: first on Oct 15, second on Dec 3 (last lecture)

More Related