强h辣文肉各种姿势h/久草免费福利视频/午夜精品福利在线观看/精品中文字幕不卡在线视频 - 成人看黄色大片

留學(xué)申請

    暫無記錄

在美國讀研期間的一些計算機課程作業(yè)

發(fā)布時間:2016-05-03

都說去美國讀研壓力大,很多學(xué)生凌晨兩三點還在完成老師布置的作業(yè),非常辛苦,而去美國大學(xué)讀計算機的同學(xué)非常之多,下面我們一起來看看網(wǎng)友在美國讀研期間的一些計算機課程作業(yè),頗有些值得學(xué)習(xí)和借鑒的地方。


  1.面向?qū)ο笳n程作業(yè),通過完整項目學(xué)習(xí)應(yīng)用面向?qū)ο蠛驮O(shè)計模式

  第一學(xué)期有門課叫《Object-OrientedSoftware Development》,主要是講面向?qū)ο蠛驮O(shè)計模式,為了幫助同學(xué)們更好的理解面向?qū)ο蠛驮O(shè)計模式,老師精心設(shè)計了一個股票交易的系統(tǒng),用面向?qū)ο笏枷雭碓O(shè)計實現(xiàn),并且應(yīng)用像FactoryFlyweightDataTransfer ObjectSingletonObserver等設(shè)計模式。當然如果你以為老師只是一個簡單的需求,就指望學(xué)生們能設(shè)計出一個很好的架構(gòu)并且還能應(yīng)用各個設(shè)計模式,你就太高估學(xué)生們的水平了。考慮到同學(xué)們的水平參次不齊,所以老師采取了一些措施來保證最終作業(yè)質(zhì)量:

  將學(xué)生分組,3個人一組,水平高的帶著水平低的

  將作業(yè)分成4期,以保證每個階段有檢查點,不至于到期末突擊還完不成任務(wù)。

  提供詳細設(shè)計文檔,細致到接口、類和方法,同學(xué)們只要按照說明實現(xiàn)方法即可,如下圖所示:

  既然分成了四個階段來完成,而且每個階段都需要依賴前一個階段的結(jié)果,那么怎么保證每個階段的結(jié)果正確呢?老師幫助寫了很多單元測試代碼,要確認代碼沒有問題,先保證單元測試都能測試通過。

  Tradable tradable1 =null;

  Quote quote1 = null;

  System.out.println("1)Create and print the content of a valid Order using Tradable reference:");

  try {

  tradable1 = newOrder("USER1", "GE",PriceFactory.makeLimitPrice("$21.59"), 250, "BUY");

  System.out.println("Tradable'stoString: " + tradable1 + "\n");

  } catch (Exception e){

  System.out.println("Anunexpected exception occurred: " + e.getMessage());

  e.printStackTrace();

  }

  System.out.println("2)Create and print the content of a TradableDTO:");

  TradableDTO tDTO =new TradableDTO(tradable1.getProduct(), tradable1.getPrice(),tradable1.getOriginalVolume(), tradable1.getRemainingVolume(),

  tradable1.getCancelledVolume(),tradable1.getUser(), tradable1.getSide(), tradable1.isQuote(),tradable1.getId());

  System.out.println("TradableDTO'stoString: " + tDTO + "\n");... ...

  這樣一個學(xué)期下來,一個股票交易系統(tǒng)就算是做好了,最終做出來效果還是挺不錯的。

  另外,為了避免有些同學(xué)編程能力不足,或者前期發(fā)揮不好,老師還提供了額外的附加作業(yè),這些作業(yè)可以提供附加分數(shù),這樣努力一點也能有個不錯的分數(shù)。

  2程序語言概念作業(yè),通過Git提交作業(yè),詳細的單元測試

  這學(xué)期選了一門課《PROGRAMLANGUAGE CONCEPTS》,講各種程序語言概念的,編程語言以Scala為主,作業(yè)也是Scala語言,這門作業(yè)有幾點設(shè)計的蠻好:

  統(tǒng)一使用git提交代碼,代碼托管在 Bitbucket 上面,開學(xué)初老師就讓每個同學(xué)注冊了一個Bitbucket賬號,然后給同學(xué)們初始化好作業(yè)相關(guān)的Repository,后面的作業(yè)都通過BitBucket來提交

  每道題提供了詳細的注釋說明,什么該用什么不該用都寫的很清楚

  提供完整單元測試代碼供測試。為了確保程序正確,老師針對每個方法寫了很多單元測試代碼,基本上單元測試能通過就表示程序沒什么問題。

  每節(jié)課開始前點評講解上一次的作業(yè)。實際上能這么做的老師很少,但是對學(xué)生來講,及時的反饋和點評上一次的作業(yè)非常有幫助,這樣可以知道標準的做法是什么,自己為什么會錯。

  3.iOS移動App開發(fā),與時俱進,涵蓋各個知識點,考試是自主開發(fā)一個完整的App

  這學(xué)期還選了一門iOS的課程,作為一個已經(jīng)有多年iOS開發(fā)經(jīng)驗的人來說,這門課對我沒什么難度,從老師的課程內(nèi)容和作業(yè)設(shè)置來看,老師對iOSswift語言的發(fā)展跟進非常及時,所有的內(nèi)容都基于最新的iOS 9Swift2.0展開,作業(yè)設(shè)置也比較合理。從簡單的HelloWorld到稍微復(fù)雜一點的計算器,再到復(fù)雜的TableView,最后考試是自主開發(fā)一個完整的App,綜合運用前面所學(xué)的知識。

  每一次作業(yè)老師的要求都很明確,包括:

  ·截止日期和提交注意事項

  ·作業(yè)的目標

  ·詳細的需求說明

  ·難點提示

  在作業(yè)的設(shè)計上,比較注意難易度的梯度,前后作業(yè)的關(guān)系,一學(xué)期的作業(yè)安排如下:

  Hello World項目,沒什么難度,只要輸出一個HelloWorld即可,重點是搭建iOS開發(fā)所需要的環(huán)境

  使用Playground寫幾個簡單的Swift算法,熟悉Swift語言

  實現(xiàn)一個簡易的計算器,只要求實現(xiàn)加減法,進一步了解Swift語言,學(xué)會查文檔,使用基本控件

  簡易電視遙控器界面,相對復(fù)雜的界面,需要和數(shù)據(jù)進行綁定

  購物清單,學(xué)習(xí)文本輸入框的使用

  基于第四次作業(yè)升級,實現(xiàn)DVR播放器界面,還要能在兩個界面之間切換。主要是熟悉界面動畫,應(yīng)用對話框

  實現(xiàn)對遙控器數(shù)據(jù)的配置,同時整合電視遙控器和DVR遙控器。熟悉UITabController的使用,以及多界面之間的數(shù)據(jù)共享

  實現(xiàn)一個列表詳情的App,應(yīng)用動態(tài)列表和導(dǎo)航

  大作業(yè),等于期末考試,自主命題,但是要求應(yīng)用到所學(xué)的知識。

  如果要對這些作業(yè)做個簡單的總結(jié),我覺得主要還是在以下幾個方面:

  1要求明確,目標清晰

  以iOS作業(yè)為例,每次作業(yè)都會清楚的說明提交的要求,作業(yè)的目標,詳細的需求,還有難點的提示。

  2難度適中

  比如面向?qū)ο笞鳂I(yè),雖然是一個很復(fù)雜的系統(tǒng),但是通過組隊和詳細設(shè)計文檔,還是能保證同學(xué)們一起完成這些項目。像iOS的期末大作業(yè),也可以讓能力比較強的同學(xué)有發(fā)揮的機會。

  3及時反饋

  有些作業(yè),老師會提供單元測試代碼,我覺得這是一個非常好的反饋方式,通過單元測試,同學(xué)們可以養(yǎng)成良好的喜歡,另外也不至于寫出來的代碼有太大偏差。另外像程序語言概念這門課老師,每節(jié)課都會講解點評上一堂課的作業(yè),這樣可以及時的直到問題所在,及時改正。

  4嚴格要求

  在美國,對于抄襲是0容忍的,經(jīng)常能聽到有同學(xué)作弊被開除的新聞,所以基本上大家都不會有這樣的想法。另外對于規(guī)定好的截止日期,如果沒有按時交,當次作業(yè)的分數(shù)就會是0分。

  同時,有些課程的老師還會提供一些附加題,讓犯了錯誤的同學(xué)也有彌補的機會。

 

在線咨詢