Introduction to Programming

Slides:



Advertisements
Similar presentations
中級法語 課程名稱中級法語 課程編碼 C0D38601 系所代碼 / 名稱 0C / 英語系 開課班級二技英語四甲 四技英語二甲 四技英語二乙... 開課教師劉恬伶 學分 3.0 時數 3 必選修選修 南台科技大學 課程資訊.
Advertisements

Chapter 10 馬可夫鏈 緒言 如果讀者仔細觀察日常生活中所發生的 諸多事件,必然會發現有些事件的未來 發展或演變與該事件現階段的狀況全然 無關,這種事件稱為獨立試行過程 (process of independent trials) ;而另一些 事件則會受到該事件現階段的狀況影響。
義守大學數位課程推廣 經驗分享 義守大學 電子工程系副教授兼電算中心綜合業務組組長 陳昭宏
 課程網頁 :  講師姓名 : 張苑 ( ㄩㄢˋ ) 瑩  實驗室 : 資電館 734 室 
JAVA Programming Language. Course  Course Number: CS  Credit : 2  Size of Limit : 110  Course Title  Java Programming Language  Instructor.
序列分析工具:MDDLogo 謝勝任 林宗慶 指導教授:李宗夷 教授.
哲學系教師引用文獻分析.  圖資二 張碩真  圖資二 林苡舒  圖資二 呂蔚瑩  圖資二 張育榕  圖資二 阮佩琪  圖資二 黃恩瓊.
數位學習經驗分享 「 E 化教學教室與虛擬攝影棚」推廣經驗分享暨觀摩 高高屏活動 義守大學應用數學系郎正廉.
ACM ICPC 競賽環境設定 Introducer: Hsing-Yen Ann Date: 2008/08/14.
Chapter 0 Computer Science (CS) 計算機概論 教學目標 瞭解現代電腦系統之發展歷程 瞭解電腦之元件、功能及組織架構 瞭解電腦如何表示資料及其處理方式 學習運用電腦來解決問題 認知成為一位電子資訊人才所需之基本條 件 認知進階電子資訊之相關領域.
網路程式設計 期末 project “ 高雄捷運相關景點 ” 系級 : 資工 2A 學號 : B 姓名 : 連娟綾 授課老師 : 馬尚彬 教授.
微 積 分微 積 分微 積 分微 積 分. Computer Setup 推車 cut down the cables !! 無影手 把黑板還給老師 作業與考試 融合 __ 一種態度、不只一個方法.
Last modified 2004/02 An Introduction to SQL (Structured Query Language )
平均值檢定 假設 檢定 One Sample 平均值 是否為 u. One Sample—1 工廠甲過去向 A 公司購買原料, 平均交貨日約為 4.94 日, 標準差 現在 A 公司改組, 甲工廠繼續向 A 公司 購買, 隨機抽取 8 次採購, 平均日數為 4.29 日, 請問 A 公.
統計資訊軟體應用 授課者:蔡桂宏 系別:應用統計資訊系 職務:專任副教授 連絡: 轉 3485 系辦
資訊科技概論 第5章 系統程式.
南投縣社區大學 Excel 實務應用入門 講師 : 林泉成
資料處理 汪群超 2 這一年將學習到什麼? 網際網路:你在哪裡?瞭解你的角色、駕馭網路 。 Web 、 FTP 、 、 Proxy 、 Database Servers 記錄你的學習歷程、展現學習成果: Homepage 、 PowerPoint.
模擬課程教學大綱 授課班級: 工管三合 授課老師: 工管系 謝佳琳老師 辦公室:管理大樓 8 樓工管系 電話:
Introduction to Information Systems and Computer Network 劉震昌 Fall, 2004.
1 數位控制(一) 2 數位控制 課程計畫 課程目標 介紹數位控制理論 與工業界常用之數位控制器比較 實習數位控制器之模擬與設計 課程綱要 Introduction to Digital Control System The z Transform z-Plane Analysis of Discrete-Time.
國立中央大學電機工程學系 99 學年度第 2 學期 助教會議 中央大學電機工程學系 工程認證 1.
最新計算機概論 第 5 章 系統程式. 5-1 系統程式的類型 作業系統 (OS) : 介於電腦硬體與 應用軟體之間的 程式,除了提供 執行應用軟體的 環境,還負責分 配系統資源。
CS1103 電機資訊工程實習 Department of Computer Science National Tsing Hua University.
電子計算機概論電子計算機概論 教科書 計算機概論 Introduction to Computers 原著: Peter Norton 審閱: 陳正雄‧趙立本‧簡文山‧林碧蘭 編譯:普羅數位科技 總審閱:林志敏 NT 590 洽助教.
本學期課程大綱. 主題 軟體進階 – 對分類軟體作原理及操作的介紹及實作 更多硬體 – 對目前主流之資訊相關硬體作介紹及討論.
論文研討 ( 一 ) B 組 課程簡介 劉美纓 / 尚榮安 / 胡凱傑 2009/09/17. 一、課程基本資料 科目名稱: ( 中文 ) 論文研討(一)B組 ( 英文 ) SEMINARS (I) 開課學期: 98 學年度第 1 學期 開課班級:企碩一 學 分 數: 2 學分 星期節次: 四 34.
1 Syllabus Computer Network 計算機網路 賴秉樑 Dept. of Electronic Engineering National Chin-Yi University of Technology Spring 2008.
電腦網路 4 教師:賴薇如 4 助教:李宜興 4 Room: Phone:
大華技術學院九十三學年度 資工系計算機概論教學大綱 吳弘翔. Wu Hung-Hsiang2 科目名稱:計算機概論與實習 適用班別:夜資工技一A 授課老師:吳弘翔 學分數: 4 修別:必修 老師信箱:
North Point Government Primary PM School 北角官立下午小學 應用 ‘ 基本能力學生評估 ’ 及 ‘ 網上學與教支援系統 ’ 經驗分享.
教材名稱:網際網路安全之技術及其應用 (編號: 41 ) 計畫主持人:胡毓忠 副教授 聯絡電話: 教材網址: 執行單位: 政治大學資訊科學系.
資訊教育 東海大學物理系施奇廷 92 學年度第一學期. 物理研究的新方法 傳統:理論與實驗 傳統:理論與實驗 現在:理論、實驗、計算 現在:理論、實驗、計算 計算 vs. 實驗:計算物理可視為在所有的條 件皆能完美調控之下的「數值實驗室」 計算 vs. 實驗:計算物理可視為在所有的條 件皆能完美調控之下的「數值實驗室」
資訊教育 吳桂光 東海大學物理系助理教授 Tel: 3467 Office: ST223 Office hour: Mon (10:30-12am) or by appointment.
CHAPTER 9 電腦 林麗娟‧教學媒體與操作. The Role of Computer for Learning  區別電腦輔助教學 (Computer –Assisted Instruction, CAI) 與電腦管理教學 (Computer – Managed Instruction,
Chapter 0 Computer Science (CS) 計算機概論 General Goals To give you a solid, broad understanding of how a computing system works To develop an appreciation.
2010 MCML introduction 製作日期: 2010/9/10 製作人 : 胡名霞.
物件導向程式 授課教師 : 王耀德 研究室 : 靜宜大學 二研 105 電話 : (04) # Web site:
大華技術學院九十五學年度 資工系計算機概論教學大綱 吳弘翔. Wu Hung-Hsiang2 科目名稱:計算機概論與實習 授課老師:吳弘翔 學分數: 4 修別:必修 老師信箱:
1 影像處理 99/02 revised 課程簡介 1 課程目標 2 課程內容 3 教科書與主要參考書 4 成績計算 5 教學網頁.
H.264 Motion Estimation Implement in Equator DSP Shu-Fan Chang 2003/10/29 音 視 訊 專 題音 視 訊 專 題.
資訊教育 吳桂光 東海大學物理系助理教授 Tel: Office: ST223 Office hour: Mon (8:10-12am) or by appointment.
國立中正大學 國際經濟研究所 碩士在職專班 九十四學年度第二學期 國際經濟專題研討 ( 一 ) ( 二 ) 課程介紹 課程主持教師:周登陽 教授 九十五年二月十八日.
資訊教育 吳桂光 東海大學物理系助理教授 Tel: 3467 Office: ST223 Office hour: Tue, Fri. (10-11am)
普通天文學 (I) General Astronomy (I) PHYS 2410 下學期新開【基礎天文觀測】 普通天文學 (I) ~ 普通天文學 ( 全 )
Lab : OpenMP Programming Parallel Programming (CS5423) Instructor : 鍾葉青 Author : 吳宇宸.
Principles of Programming Chapter 1: Introduction  In this chapter you will learn about:  Overview of Computer Component  Overview of Programming 
Fundamental of logic design ( 邏輯設計 ) Ching Yuan Su( 蘇清源 ) Dept. of Electronic Engineering Chang Gung University
CIS 15 - Advanced Programming Techniques Using C Professor Yedidyah Langsam 525NE icq: AOL IM: BCCISProf.
Operating Systems 作業系統 熊博安 國立中正大學資訊工程學系 EA-101, EA001.
2010/09/141 計算機概論計算機概論 國立成功大學化工系凌漢辰副教授 93C12 研究室 Tel: Ext (O)
CGS 3460 Course Web Site –Get CISE Account –Submit via Web Ct –Late Policy –50% Per Day –Missubmission policy –Academic Honesty –Class Scheduling.
National Taiwan University Department of Computer Science and Information Engineering Introduction to Programming Design by C Algorithms and Computational.
RMI CORBA Matt. 2 RMI VS CORBA 3 4 J2EE 5 Sample Application.
Chapter 1: Introducing C Copyright © 2008 W. W. Norton & Company. All rights reserved. 1 Chapter 1 Introducing C.
COP 3275 Chapter 01 course website: Jonathan C.L. Liu, Ph.D. CISE Department University of Florida.
1. Introducing C Lecturer: Chih Hung Wang Fall 2010 Programming Design (I) Modified from: C Programming – A Modern Approach 2008 W. W. Norton & Company.
When Selecting Classes... 選課時 … Courses Searching System 選課查詢系統 Course Registration (Put into the Cart) 選課登記 Learn the Details of Courses 了解課程細節 Confirm.
Introduction to C Programming Language. History of C  C was evolved by Dennis Ritchie at AT&T Bell Laboratories in early of 1970s  Successor of: ALGOL.
Chapter 1: Introducing C Copyright © 2008 W. W. Norton & Company. All rights reserved. 1 Chapter 1 Introducing C.
© 2010 Pearson Addison-Wesley. All rights reserved. Addison Wesley is an imprint of Starting Out with Java: From Control Structures through Objects Fourth.
1. INTRODUCING C.
Introducing C Chapter 1 Copyright © 2008 W. W. Norton & Company.
Introducing C Chapter 1 Copyright © 2008 W. W. Norton & Company.
Overview of C.
CGS 3460 Course Web Site Get CISE Account.
Introducing C Chapter 1 Copyright © 2008 W. W. Norton & Company.
Introducing C Chapter 1 Copyright © 2008 W. W. Norton & Company.
Prolog 前言 Text Book 課本: R.Wolfson, “Essential University Physics",
Prolog 前言 Text Book 課本: R.Wolfson, “Essential University Physics",
Presentation transcript:

Introduction to Programming 授課老師:林川傑

課程資訊 教師 課程網頁 助教 (TA) 林川傑 INS609 分機6610 cjlin@ntou.edu.tw http://nlp.cs.ntou.edu.tw/courses/C_program 助教 (TA) 陳邵亨 INS605 分機6636 劉耆定 INS605 分機6636 黃若萍 INS114A 分機6633

課程資訊 課本 (Textbook) 評分原則 (Grades) C Programming - A Modern Approach, K. N. King, 2nd Ed., Norton. 評分原則 (Grades) 期中考 Midterm Exam 30% 期末考 Final Exam 35% 作業及隨堂考 Homework, etc. 30% 平時表現 Additional 5% 期中、期末、作業任一項0分者無法及格

Introducing C Chapter 1

Programming Languages (程式語言) Hundreds of languages have been invented. Three major types Machine languages (機械語言、機器碼) Assembly languages (組合語言) High-level languages (高階語言)

Machine Languages (機械語言) Machine-dependent (隨機器而不同) Different machines codes for different kinds of computers IBM x86 machines Sun Sparc Workstation Examples: +1300042774 +1400593419 +1200274027

Assembly Languages (組合語言) 用類似英文的字來代表電腦動作 用 assemblers (組譯器) 來翻譯成機器碼 Example: LOAD PRICE ADD TIP STORE TOTAL +1300042774 +1400593419 +1200274027 assembler

High-Level Languages (高階語言) 程式碼就像日常英文 採用數學符號 用 compilers (編譯器) 來編譯成機器碼 Example: TOTAL = PRICE + TIP

History of C Origins Ken Thompson at Bell Lab designed a language called B for the further development of UNIX, which was originally written in assembly language. Dennis Ritchie joined the UNIX project and found that B was not well-suited to another platform. So he extended B into C in 1971.

History of C Standardization The first book on C, the C Programming Language, was written by Brian Kernighan and Dennis Ritchie in 1978. By the 1980s, Many slight variations of C existed and they were not always compatible. The American National Standards Institute (ANSI) created a "unambiguous, machine-independent" definition in 1988 and formally approved in 1989 (C89 or C90, or ANSI C).

History of C Standardization It was approved by the International Organization for Standardization (ISO) as international standard ISO/IEC 9899:1990. Some significant changes were added into C. Therefore, it came a new standard ISO/IEC 9899:1999 in 1999. (C99) C99 is not universal yet.

C-Based Languages C++ includes all the features of C, but adds classes and other features to support object-oriented programming. Java is based on C++. C# is derived from Java and C++. Perl was originally a fairly simple scripting language but now adopted many of the features of C.

Philosophy of C C is a low-level language. C is a small language. C provides access to machine-level concepts. C is a small language. C only provides a limited set of features. C is a permissive language. C allows you a wider degree of programming.

Strengths of C Efficiency Portability Power C programs can run quickly in limited amounts of memory. Portability By developing C compilers in different platforms, C programs can be ported to another machine. Power C's large collection of data types and operators make it powerful.

Strengths of C Flexibility Standard library Integration with UNIX C is now used for applications of all kinds. Moreover, C provides very few restrictions on the use of its features. Standard library C's standard library contains hundreds of useful functions. Integration with UNIX C is powerful in combination with UNIX.

Weaknesses of C C programs can be error-prone. C's flexibility makes it error-prone. Many errors cannot be detected by a C compiler but caught until the program is run. C programs can be difficult to understand. C programmers are often very clever to use and combine the features in many different ways which make the programs hard to understand. C programs can be difficult to modify. C programs can be hard to change if they haven't be carefully designed.

Example of Obfuscated C Code v,i,j,k,l,s,a[99]; main() { for(scanf("%d",&s);*a-s;v=a[j*=v]-a[i], k=i<s,j+=(v=j<s&&(!k&&!!printf(2+"\n\n%c"-(!l<<!j),"#Q"[l^v?(l^j)&1:2])&& ++l||a[i]<s&&v&&v-i+j&&v+i-j))&&!(l%=s), v||(i==j?a[i+=k]=0:++a[i])>=s*k&&++a[--i]) ; } Solutions to the Eight Queens problem, written by Osovslanski and Nissenbaum

Suggestions to Effective Use of C Learn how to avoid C pitfalls. Use software tools to make programs more reliable. Take advantage of existing code libraries. Adopt a sensible set of coding conventions. Such as naming convention Avoid "tricks" and overly complex code. Stick to the standard.