程序設計方法學
① 程序設計方法學的與軟體工程的關系
程序設計方法學也與軟體工程關系密切。方法學對軟體的研製和維護起指回導作用。軟體工程要求程序答設計規范化,建立新的原則和技術。而一種新的方法的出現,又要求制訂出相應的規范。方法和工具是同一問題的兩個側面。工具的研究以方法學為基礎,而工具的研製成功又會影響程序設計。程序設計方法學還涉及程序推導、程序綜合、程序設計自動化研究、並發程序設計、分布式程序設計、函數式程序設計、語義學、程序邏輯、形式化規格說明和公理化系統等課題。 軟體工程的研究對象是軟體系統。目標是降低軟體的開發成本,提高軟體的質量,提高軟體的可維護性,提高軟體開發的效率。著重於軟體的宏觀可用性。程序設計方法學研究對象是程序。目標是保證程序的正確性。著重於程序的微觀正確性。軟體工程與程序設計方法學的界限變得越來越模糊 程序設計方法學是軟體工程的基礎。
② 程序設計方法有那些()
程序設計方法學(Programming Methodology)有兩種含義: 一種是以程序設計方法為研究對象的學科,它不僅研究各種具體的方法,而且著重研究各種具體方法的共性,涉及規范的全局性方法,以及這些方法的顯示背景和理論基礎;另外一種含義是針對某一領域或某一領域的一類特定
程序設計方法學(Programming Methodology)有兩種含義:
一種是以程序設計方法為研究對象的學科,它不僅研究各種具體的方法,而且著重研究各種具體方法的共性,涉及規范的全局性方法,以及這些方法的顯示背景和理論基礎;另外一種含義是針對某一領域或某一領域的一類特定問題,所用的一整套特定程序設計方法所構成的體系。
作為一門學科(第一種含義),程序設計方法學可對程序設計人員選用具體的程序設計方法起指導作用,而具體的程序設計方法對程序設計工作的質量以及所設計出大程序的質量影響巨大。因此,對程序設計方法學的研究是非常重要的。
作為一套完整特定的程序設計方法所構成的體系(第二種含義),如邏輯式程序設計方法學、函數式程序設計方法學、對象式程序設計方法學等。它們有各自的利弊得失,與具體領域、具體問題以及具體環境相關。
兩種含義之間的關系是:第二種含義是第一種含義的基礎,第一種含義是在第二種含義的基礎上的總結、提高,並上升到原理、原則和理論的高度。這兩種含義的程序設計方法學都非常重要。
③ 程序設計方法學課程設計——萬年歷
人類的生存方式,20萬年前與10萬年前相比,不會有太大的改變;3000年前與2000年前相比,不會有太大的改變;600年前與500年前相比,不會有太大的改變。但是,今人與古人其實早已今非昔比,即使是現在與100年前相比,也已完全不一樣。是什麼推動了人類歷史的發展?是什麼讓人類開始了新的生存方式?
我說,這便是科技,是科技的發展才推動了人類的進程,是科技的發展才使人類有著這嶄新又美好的生活。縱觀千古,哪朝哪代不是重視科技的發展?回首過去,看四大發明,獨具鰲頭;觀天文歷法,為之驚嘆;覽趙州拱橋,設計精妙;窺《本草綱目》,東方巨典;瞻圓周率值,七位小數;眺絲綢之路,發展經濟;端青花瓷器,揚名海外。科技發展是強國之路,科技發展是中華民族進步的第一動力,沒有科學,我們哪來的今天的幸福生活?沒有科技,我們哪來的舒適的物質生活與精神享受?沒有科技的進步,我們哪能吃到雜交二號?我們哪能穿上全棉衣服,我們哪能住進高樓大廈?
問,科技發展利大還是弊大?毋庸置疑,當然是利大!作何解釋?不用解釋!中華文明八千年歷史文明就是鐵證如山,歷史每時每刻都在改變,科技每時每刻都在發展。人類從茹毛飲血原始生活學會利用或燒熟食物,從依靠自然到繁殖飼養,從手無寸鐵到冶金煉石,這不都是進步,這不都是發展?如果是弊端大於利的話,那人類為什麼都還不約而同的選擇了進步?只有進步才能使明天更美好!
一個人不進步是可悲的,一個國家不進步是沒落的,一個世界不進步是黑暗的。只要在不斷的進步中,人類的生活才可以得到升華。人類是渺小的,人類是脆弱的,他沒有龐大的身軀,沒有牛似的力氣,沒有烏龜的硬殼。但上天給予了人類一顆聰慧的大腦,一雙勤勞的雙手,人類沒有坐享其成,而是選擇了不斷進步,才可以在今天站在了食物鏈的頂端。
讓我們把今天的生活和十萬年前相比,我們是至高無上的;把今天和幾千年前相比,我們是居高臨下的;把今天和幾百年前相比,我們是幸福舒適的;把今天和明天相比,未來是美好光明的。幾千年來,從馬車變成了轎車、火車、飛機;從煤油燈變成了白熾燈、霓虹燈、節能燈;從海角天涯變成了近在咫尺、視頻聊天、滑鼠一點盡知天下事。
我們是幸福的,我們是幸運的,我們趕上了一個科技高速發展的時代,一個充滿高科技的時代,這不光光是我們的祖先在進化時選擇了發展,選擇了進步,也包括了所有人的不懈努力,刻苦鑽研,我們今天的日子時有多少辛勤的科學家們用智慧甚至生命換來的。
因為法拉第,我們生活的周圍才充滿了各種各樣的電器;因為達爾文、因為孟德爾,我們才可以更好地了解自己,認知自己;因為扁鵲,因為華佗,因為李時珍,我們的生命才能得到保障。
我們周圍的一切,不都是他們給我們換來的嗎?生活如此舒適,生活如此愜意,生活如此美妙,我們的平均壽命比古代提高了30歲,看望親友甚至不用出家門,這不都是科發展給我們帶來的好處嗎?
所以說,科技改變歷史,我們探討科技的發展利大還是弊大是不需要質疑的,因為就是利大!利大!利大!你說科技發展帶來了大氣污染、你說科技發展產生了白色垃圾、你說科技發展形成了氣溫變暖……所有的事情不可能都是十全十美的,越明亮的地方後面的陰影就越暗,但就憑這些你就斷定科技發展弊大於利?「 世異則是事異」時代不同,所遇到的問題也不同,再說大氣污染,各省各市都推出了預防預案;白色垃圾,統一處理;汽車尾氣造成氣溫變暖科學家們也研發了太陽能汽車。看看現在、太陽能熱水器、太陽能空調、太陽能電池……環保節約的太陽能已經逐步進入千家萬戶,這不是科技在發展嗎?
雖然有弊端,但比起造福人類,環保家園的科技發展理念,無關痛癢,只要有弊端,科學家們同樣會想辦法去解決,我們不能因噎廢食,科技發展的步伐一刻也不會停止。科技發展,無可厚非,就是利大,這個辨題唯一的答案!就因為科技一直在進步,科學一直在發展,狡猾的詭辯,籠統的只言片語,無理的胡攪蠻纏都改變不了這個真理。如果你說科技發展弊大於利,請問,你能在一周之內不坐車來上課,不用中性筆、不用圓珠筆、不用鋼筆?你能在一周之內不看電視、不聽新聞,不看報紙,不讀書,不上網?你能在一周之內不吃研發的雜交水稻?不吃麵食?不喝飲料?不能不能,你不能也不可能能,因為科技已經和你息息相關,已經和你密不可分!在請問,如果你給主席寫信,說建議停止一切科研活動,大家是送給你鮮花,還是那板專拍你?
科技改變歷史,不錯的,沒有科技發展,我們的生活是無法想像的,我們的日子是昏天黑地的,是科技發展救了我們,是科學把我們從水生火熱的年代拯救了出來。我們更應該懷著一顆敬畏之心去尊敬他,怎能口是心非地說科技發展弊端累累?
科技改變歷史,知識改變命運。我們跨入了21世紀,跨入了一個充滿高科技的時代。科學改變了我們的生活,科學改變了我們的命運。「知識就是力量 」,我們中華人民共和國,13億人口的泱泱大國,為何能在世界面前挺起胸脯?因我們的科技在不斷的發展!我們的科技在不斷的進步!
科技發展利大於弊,這是一個亘古不變的主題!
④ 關於計算機程序設計的習題,不是C語言的,謝謝
「計算機程序設計基礎」是計算機基礎教學系列中的核心課程,主要介紹程序設計語言的基本知識和程序設計的方法與技術。其內容以程序設計語言的語法知識和程序設計的基本方法為主,同時包括程序設計方法學、數據結構與演算法基礎等方面的初步內容。本書旨在,使學生掌握計算機程序設計的基本思想和方法,初步具備在各領域應用計算機的能力,並為後續課程的學習創造條件。本套教材分為《計算機程序設計基礎》和《程序設計基礎實驗指導與習題》,力求詳細介紹C語言結構化程序設計,並涵蓋了計算機等級考試的要求。《計算機程序設計基礎》教材是以程序設計的基礎理論為主,重點介紹程序設計的基本理論和方法及C語言的語法知識。《程序設計基礎實驗指導與習題》教材與《計算機程序設計基礎》配套,包括實驗上機指導、實驗思考題、練習題、二級考試等內容。本書是以計算機基礎課程教學指導分委員會制定的「計算機程序設計基礎課程教學基本要求」為依據,結合近年來C語言程序設計基礎的教學實踐經驗編寫而成。其內容涵蓋了C語言結構化程序設計的基本理論、基本概念、方法和規范。以培養學生掌握程序設計的基本理論和方法及計算機應用編程能力為目標。本書以一個小型的學生成績管理系統為主線,將C語言程序設計的各個知識點分配到各個章節中詳細介紹,並逐步實現該系統的全部功能。通過該案例,使學生對C語言程序設計的過程和所涉及知識有一個清晰的理解,力求理論與實踐相結合,從而培養學生分析問題和解決問題的能力。本書共分8章,內容包括:第1章——程序設計概述,介紹程序、程序設計、演算法等基本概念,程序設計的過程和程序設計的方法,以及C語言字元集、詞法符號和C語言程序的基本結構。第2章——數據類型、運算符與表達式,介紹C語言的數據類型、各種類型的常量、變數的聲明和使用方法,各種類型運算符及表達式求值的運算規則。第3章——程序控制結構,介紹結構化程序設計的基本概念和結構化程序設計的方法,C語言的順序控制語言、選擇控制語句、循環控制語句及應用問題的求解方法。第4章——函數與預處理,介紹用函數實現模塊化程序設計的思想,函數定義、函數聲明、函數調用的基本概念和方法,函數的返回值及其類型,函數參數傳遞機制,遞歸函數,變數的作用域和存儲類型及預處理等。第5章——數組,介紹數組的概念,一維數組的定義、初始化及應用,二維數組的定義、初始化及應用,字元串與字元數組的概念及應用。第6章——指針,介紹指針的基本概念,指針變數的定義及其相關運算,指針與函數,指針與數組,動態內存分配。第7章——結構體與共用體,介紹結構體、共用體等自定義數據類型的機制,結構體類型與結構體變數,結構體數組,結構體與函數,鏈表的概念和常用操作,共用體的概念及應用。第8章——文件,介紹文件的基本概念及對文件的常用操作。第9章——面向對象程序設計,介紹面向對象程序設計的基本概念及類的基本操作。附錄包括ASCII碼表、C語言運算符、常用C標准庫函數。本書第1章、第2章由田紅梅編寫,第3章由郭煒編寫,第4章由劉菲編寫,第5章由姬濤編寫,第6章由江紅編寫,第7章、第8章由周啟生編寫,第9章由陳青編寫。全書由周啟生和姬濤統稿與審定。特別感謝劉寶忠教授對本書的指導與審閱。在編寫本書的過程中,還得到了王海暉教授、庄鵬老師的大力支持,在此也表示衷心感謝!本書的編者都是長期從事程序設計教學的教師,本書凝集了各位教師多年的教學實踐經驗。由於計算機科學技術發展迅速,程序設計的教學內容、方法和手段日新月異,加之編者水平有限,書中不足之處在所難免,敬請讀者批評指正,以便今後進一步完善。
⑤ How to design programs【程序設計方法學】作者傅雷森誰有中文版的
http://ishare.iask.sina.com.cn/f/36128627.html
⑥ 通過程序設計方法學 談談面向對象程序設計方法出現的必然性 並展望未來新的程序設計方法
程序設計方法學 ——第4章面向對象程序設計方 法學 徐承志 [email protected] 4.1 面向對象程序概述 ? 面向對象技術的產生與發展 ? ? 隨著人們對數據抽象的不斷加深認識,逐漸將類型的 概念擴展到數據抽象上,即將數據與操作不僅當做一 個整體來理解,還當做一個整體來實現。 Simula67(引入對象和類的概念)→美國國防部開發的 ADA(支持重載、多態等多種早期對象機 制)→Smalltalk(比較完整的實現了面向對象的思想, 但是弱類型)→C++(面向對象的思想從實驗室走向實 際商用應用)→Java、Delphi、VB、C#...... 4.1 面向對象程序概述 ? 隨著硬體的發展,軟體設計從原來重視運行效率 轉移到設計效率,於是各種高級語言出現不斷抽 象發展的趨勢,大致分成四個階段: ? ? ? ? 符號抽象 模塊化和信息隱藏 抽象數據類型 面向對象 ? 語言抽象的發展還沒有結束,像Java、C#等語 言從具體的運行環境抽象到虛擬機環境;程序設 計方法從硬代碼抽象到設計模式、范型編程; UML的產生使得程序設計脫離具體語言而抽象為 純概念模型。 4.1 面向對象程序概述 ? 4.1.2 面向對象抽象的原理 ? ? 數據抽象 ? 模塊化與信息影藏 行為共享 ? ? 分類:水平共享 分層:垂直共享 指系統隨需求變化而修改和增加 指對復雜問題的增量式(大問題轉換為小問題)的求解過程 調用時系統必須保證在共享的行為中找到正確的行為 ? 進化 ? ? ? 正確性 ? 4.1 面向對象程序概述 ? 4.1.3 面向對象計算的模型(指4種實現技術) ? 封裝(模塊化和信息隱藏) ? ? ? ? ? ? 表示:類的標識 屬性:類中值的標識 演算法:一個過程和函數的具體實現 約束:對類的行為特性進行某些限制(如CHECK、ASSERT) 觸發:一對對象的變化導致另外一個對象的行為 可見性:那些行為和狀態對外公開 集合(實際中很少使用) 抽象數據類型(抽象類、介面) 類(具體類) ? 分類(3種情況) ? ? ? 4.1 面向對象程序概述 ? 4.1.3 面向對象計算的模型(指4種實現技術) ? 共享(又稱為多態性) ? ? ? ? 強制:類型轉換,如實數運算可以處理整數 重載:通過參數的不同函數有不同的實現 參數化多態:函數的參數不制定一個具體類型(如模板函數) 包含多態性:一種分類可以替換另一種分類,類與類之間不完 全孤立(有人認為這種方式破壞了OOP的優秀性) 4.1 面向對象程序概述 ? 4.1.3 面向對象計算的模型(指4種實現技術) ? 解釋 ? 靜態綁定 ? 編譯時綁定,運行開銷小,缺點是必須重新編譯才能解除綁定 ? 動態綁定 ? 運行時綁定,運行開銷大,不需要重新編譯就能建立新的綁定 4.2 可復用面向對象程序設計的基本原
⑦ 本科的計算機科學與技術專業的課程按大一、大二、大三、大四分別介紹下,謝謝!
計算機導論實驗 1 18 36 1
專業必修課 專業必修 21301801 計算機導論 2 36 0 2
專業必修 21301802 C語言程序設計 3 54 36 4
專業必修 21301803 電子技術及實驗 3 54 18 3
專業必修 21301804 數字邏輯及實驗 4 72 18 4
專業必修 21301806 數據結構 4 72 18 4
專業必修 21301807 信息系統安全概論 2 36 0 2
專業必修 21301809 離散數學 5 90 0 4
專業必修 21301811 計算機組成與結構 4 72 0 4
專業必修 21301812 操作系統 3 54 0 3
專業必修 21301813 嵌入式系統引論 4 72 0 4
專業必修 21301814 資料庫系統原理 3 54 0 3
專業必修 21301815 計算機網路 3 54 18 3
專業必修 21301816 編譯原理 3 54 0 3
專業必修 21301818 計算機新技術講座 0 0 1
專業必修 21305801 計算機組成與結構實踐 1 18 36 2
專業必修 21305802 操作系統實踐 1 18 36 2
專業必修 21305803 嵌入式系統實踐 1 18 36 2
專業必修 21305804 資料庫系統實踐 1 18 36 2
專業必修 21305805 編譯原理實踐 1 18 36 2
專業必修 21305810 畢業論文 0 0 6
專業必修 21305818 計算機編程實踐 0 0 0 0 36 1
專業必修 30000001 高等數學A(一) 5 108 0 5
專業必修 30000002 高等數學A(二) 6 120 0 5
專業必修 30000008 線性代數A 3 54 0 3
專業必修 30000010 概率論與數理統計A 3 54 0 3
專業必修 30000015 大學物理B(一) 3 54 0 3
專業必修 30000016 大學物理B(二) 3 54 0 3
專業必修 30000017 大學物理實驗B
專業任意選修 21303801 面向對象程序設計(基於C++) 2 36 18 2
專業任意選修 21303802 面向對象程序設計(基於Java) 2 36 18 2
專業任意選修 21303803 演算法分析與設計 2 36 18 2
專業任意選修 21303805 現代軟體工程 3 54 0 3
專業任意選修 21303807 信息系統建模與設計 2 36 18 2
專業任意選修 21303811 單片微機原理與應用 2 36 18 2
專業任意選修 21303816 計算機網路工程 2 36 36 3
專業任意選修 21303817 通信原理 2 36 18 2
專業任意選修 21303820 無線區域網 2 36 0 2
專業任意選修 21303822 人-機交互與虛擬實現 2 36 0 2
專業任意選修 21303823 XML技術與應用 2 36 0 2
專業任意選修 21303826 計算機視覺與模式識別 2 36 0 2
專業任意選修 21303827 抽象代數 2 36 0 2
專業任意選修 21303831 數值計算及其計算機實現 2 36 18 2
專業任意選修 21303836 程序設計方法學 3 54 0 3
專業任意選修 21303837 現代計算機網路 3 54 0 3
專業任意選修 21303838 高級計算機系統結構 3 54 0 3
專業任意選修 21303839 計算理論基礎 3 54 0 3
專業任意選修 21303840 計算機輔助教育 1 18 36 2
專業任意選修 21303841 人工智慧 2 36 18 2
專業任意選修 21303843 Web應用技術 1 18 36 2
專業任意選修 21303844 數字圖像處理 2 36 18 2
專業任意選修 21303845 Windows應用程序設計 2 36 18 2
專業任意選修 21303848 現代CAD技術 2 36 18 2
專業任意選修 21303850 多媒體技術 2 36 18 2
專業任意選修 21303851 計算機圖形學 2 36 18 2
專業任意選修 21303852 數據挖掘與知識發現 2 36 0 2
專業任意選修 21303853 網路安全基礎 2 36 36 3
專業任意選修 21303854 生物信息學 2 36 0 2
專業任意選修 21303855 存儲技術基礎 2 36 0 2
專業任意選修 21303859 實時嵌入式系統 2 36 0 2
專業任意選修 21303860 自然語言處理導論 2 36 0 2
專業任意選修 21303861 信號與系統 2 36 0 2
專業任意選修 21305811 問題求解與程序設計 1 18 72 3
專業任意選修 21305813 程序設計方法課程設計 1 18 54 2
專業任意選修 21305814 應用系統課程設計(軟) 1 18 72 3
⑧ 程序設計員需要哪些基本知識
要學硬體知識,軟體知識、數據結構、計算方法、程序設計方法學、資料庫結構和管理知識、具體的語言和資料庫的管理知識等等。當然也需要精通一門開發語言!
⑨ 計算方法與程序設計學什麼的
程序設來計方法學是討論程序自的性質以及程序設計的理論和方法的一門學科,
是研究和構造程序的過程的學問,
是研究關於問題的分析,環境的模擬,概念的獲取,需求定義的描述,
以及把這種描述變換細化和編碼成機器可以接受的表示的一般的方法。
⑩ 程序設計方法學的介紹
用以指導程序設計各階段工作的原理和原則,以及依此提出的設計技術。有時也指研究這內些原理、容原則和技術的學科。程序設計方法學的目標是能設計出可靠、易讀而且代價合理的程序。程序設計方法學包括程序理論、研製技術、支援環境、工程規范和自動程序設計等課題,使程序設計更加科學化和工程化。其基本內容是:結構程序設計;程序理論在程序設計技術中的應用,以及規格說明和變換技術。程序理論與程序設計方法學的發展密切相關,它豐富了程序人員的思維方法,促進了程序設計技術的發展。