日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

软件工程资料 - 优秀的大学怎么教程序开发和软件工程课

發布時間:2024/7/23 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 软件工程资料 - 优秀的大学怎么教程序开发和软件工程课 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

他山之石,可以攻玉

世界上很多大學都有不錯的教學方法, 例如我們曾經的助教總結他在國外的學習經歷,可以看出老師和學校對于如何教好課是花了心思, 有很多投入的。

? ?   一門課怎么上:?https://zhuanlan.zhihu.com/p/20610349

   怎么設計長期好用的 教學系統

另外,在2012年,我們上軟件工程課的過程中,收集到交換到 UCSD 同學寫的這個博客,也貼在這里作為學習資料。?原網站 (http://www.arc-trooper.com)已經不存在,這是一個備份。

----------------- 以下是轉載備份 ---------------------------

UCSD CS110 Final Presentation后的感想

Posted on?2012/12/06?by?admin?9

項目源代碼?ecomstore@github?項目進行過程中的所有文檔現在仍在修訂,學期結束后會放上來

_____________________________

剛剛結束了在ucsd上的cse110 軟件工程的 final presentation。 感觸很多,想和大家分享一下。

首先介紹一下這門課的形式,Professor Gary Gillespie 是我們的lecturer, cse110的形式很特殊,Gary實際上以公司的形式來開設這門課程,cs110 fall 2012?Gary是公司的founder和ceo,他手下有兩個TA,他們分別是COO,Chief Operating Officer,首席運營官,一個CIO,Chief Information Officer。 還有三四個Tutor,他們是Executive Board Members。專門負責lab時的tutoring。

課程開始時,Gary向我們介紹了這門課的形式,所以學生組隊,8~9人的團隊,作為公司的一部分,這個學期的主題是電子商務,但沒有限定的方案或形式,所以團隊可以自己做決定,沒有要求實現技術,完全自己決定。

所有組員都有明確的角色分工

Project Manager
Subject Matter Expert: ? Researches the inner workings of online stores and is involved with how the business rules are integrated into the project.
Senior System Analyst: Coordinator of Use Cases, User Story, Requirements.
Software Architect: ? ? ? ?Coordinates design, selector of technologies.
Software Development Lead: Coordinates software development.
Algorithm Specialist: ? ? ?Designer of algorithms and module interfaces.
Database Specialist: ? ? ?Maintains database and related issues.
Quality Assurance Lead: Coordinates testing phase, ensures procedures followed.
User Interface Specialist: Focuses on the look and feel, and user experience.

每個人根據自己擅長的技術或興趣選擇職位,所有人都會sumbit code,但側重和工作量不同。

就這樣,一周這后,5個小組誕生了。所有的team每周需要參加周一的customer meeting,實際上就是每組展示每周的artifect,來模擬整個軟件開發過程,比如User Story,User Case,Database Design etc, 然后Gary逐一點評,每周三還有 Engineer All hand lab,每周都有一個學習主題,比如Version Control使用,html css,mvc design等等。每周各個team還有 team meeting 討論分工和進行code review,每周每個人要提交time card,來規劃每周的時間安排,每兩周還有peer review,給自己的組員打分,來評價每個人的貢獻,也會給自己打分,得分低的學生與自己給自己打得分和teammate給自己打分差距極大的學生,Gary會單獨發郵件溝通。經過三個月的奮斗,終于到了最終presentation的時候。

這門課最后一共有41名學生,分為了5個小組,分別是

Team WIN ——World wide inventory management 我所在的團隊,Final Presentation 第二名,一共8個人,我的角色是Software Architect + Software Development Lead 這是我們最后的網站Michael Collins Jewelry Store?組長Cory在當地的一家珠寶店兼職工作了很多年,他現在的網站非常舊,Preview Version?而且基本沒有server side的支持,完全的靜態網頁,我們打算為他重新打造一個全新的系統。我們使用的Python Django, Mysql 和Bootstrap + Jquery

Team WTF —— Not what the fuck, is We Trader Fun 8人團隊 http://wetradefun.appspot.com/ (沒有完全向外界開放) WTF的點子我非常喜歡,他們決定做一個游戲交換的網站,有點像初中玩GBA那會兒去玉泉東換卡的意思,他們的網站使用了GiantBomb?一個Game Database 網站提供的api來獲得所有的游戲信息,你可以搜索所有的游戲信息,然后加入wishlist,然后你可以把你手頭閑置的游戲加入到offer list,當有其他人對你的游戲感興趣他們會給出offer,你則需要從眾多offer中選出一個最喜歡的,然后和他交換。 同樣使用的Python Django Mysql 和Bootstrap + Jquery

Team OCD —— Over Clocked Developers , 9人團隊 這是他們的最后網站BuyBox?Final Presentation第一名的團隊,他們開發了Buybox網站,類似于一個微型的二手市場,你可以將自己閑置的,想賣的東西發布到上面,感興趣的買家可以直接給你打款,最大的feature是和社交網絡,二維碼的結合。 用戶發布東西后,可以打印出帶有二維碼的傳單,在學校里散發,當用戶掃描二維碼后,可以跳轉到buybox的網站,而且他們的結賬系統非常直接簡單,和itunes類似,首先設置后信用卡信息,然后每次決定購買時,一步了當,簡單明了,系統非常易于上手,前端的界面也是經過細心雕琢,也適配移動終端。他們下一步打算在UCSD嘗試讓大家使用,很有可能作為創業的項目。 他們的團隊也是強手云集,Team member,product manager是HP的工程師,大四學生,一個ruby on rail高手,Quality Assurance Lead是管理科學專業,cs minor,他策劃的所有商業方案,并打算明天以他們的網站去做business課程的final presentation。 他們的database specialist 和software architect分別是Carefusion 和 Northrop Grumman的軟件實習生,另外一名db specialist是graduate student,ruby高手。兩名女生是ui design,每個人都投入了大量的時間和精力在這個項目上,其中一個ui女生和我一開始上cse135課,本來我想和她組隊做cs135的項目,但后來她drop了,說要投入精力在她們的網站。 他們使用Ruby on Rails +Mysql + Bootstrap,使用Heroku作為hosting platform

Team WAIT – Wonderful Amazing Inventory Tracking, 他們也有一個真實客戶,其中一個組員的媽媽是一個賣眼鏡的公司的CIO,他們需要一個Inventory Tracking system來跟蹤所有的貨物,但因為他們使用的非常過時的數據庫,但希望逐步切換到新的技術,于是WAIT team創建了一個Inventory Tracking Website,幫助他們的客戶來做這個過渡,功能很強大,可以上傳excel表格,并轉換格式,呈現在網站上,并能在google map上跟蹤所有seller信息,他們的客戶非常滿意,并打算讓他們繼續做下去,他們很有可能把系統作為產品,買給這個公司。

用的技術同樣是Python Django + Mysql + Bootstrap,Jquery

Team SOL – Software Optimization Logistics 7人團隊,做的類似于OCD,也是一個小型的電商系統,但沒有很多的創新點,也沒有很吸引眼球的feature,SOL Website?可以看到他們所有的Artifect,但網站的server?SOL Team?無法訪問。 他們最大的亮點是他們的Artifect,所有的文檔都是以網頁的形式發布到網上,他們的一個組員是php大牛,寫了一個工具來管理這些文檔,我是非常佩服。 他們用的技術是Jsp + Mysql + Bootstrap,Jquery

雖然最后大家投票,我們組排名第二,但我自己認為第一當之無愧是OCD,第二是WTF,第三是WAIT,我們排第四,因為論UI,我覺得我們做的一般,網站的功能也非常簡單,實現的也是中規中矩的小型電商網站,而WTF有非常好的商業方案和功能實現,如果上線,感覺會發展很快。 WAIT沒有絢麗的UI,但很樸實,為它們的客戶提供最好的解決方案,專注解決問題。

在UCSD 的這個quarter感觸最深的就是這門課,和我在北郵上過的課徹底不同,Gary上課基本不怎么講太細的理論,他在Xerox和SAIC工作了有20多年,是一個Senior Software Engineer,UCSD的本科和研究生,退休后回到UCSD做全職Lecturer,他第一節課就說,

I hate teaching Software Engineering, Because you can’t learn it unless you actually do it, so I have no idea how to teach at all.

所以真正的課堂就比較奇葩,一般上來他就講他工作時的一些故事,講他身邊的奇葩工程師,特別二逼的manager,特別照顧他的mentor等等,然后就開始講Head First Design Pattern,用了三周時間過完了一本書,有用了兩周時間過完了Head First Software Development,上課基本沒有講義,直接維基百科,無比飄逸,quiz和midterm都很簡單,甚至允許你自己出題,如果題目出的好還給你加分,但真正學東西的是當你做project的時候,和所有隊友溝通,交流,分配任務。我的隊友Brian,他也是Software Development Lead,一個Chinese,但從來不說中文,開始的兩周基本不怎么參與開發,第一次peer review結束后,被Gary單獨聯系后,開始輸出,但往往不能令人十分滿意的完成任務,總是給你殘缺的東西,然后自己去忙別的,我們的manager cory很負責,他是Cognitive Science的學生,修了Cs的minor,非常喜歡Game Industry,打算以后去暴雪工作做game desiger,Ryan是我們的UI Specialist,非常負責,獨自完成了很多design的任務,Josh是Quality Assurance Expert, 這個周末連續工作了兩天,測試網站,提出bug,編寫測試用例,非常認真,我從一開始就非常認真,投入了很多時間精力在項目上,基本每個周末都在lab里coding,我寫了80%的后端系統,和很多前端的頁面,我的隊友也很信任我,認可我的貢獻,兩次peer review都給了我滿分,對于整個team,最大的問題是能夠輸出代碼的人太少,包括我也是參考著一本Python電子商務實戰的書在寫,我雖然學過一段時間python,在微軟實習的時候也做的web development,但因為對Django不熟,很難完全自己實現一個模塊,更何況我的隊友了,Steven更偏向硬件,而且手還骨折了,平時所有的文檔formatting都交給他,也很難輸出,樂哥修了四門課,也沒時間精力。好在最后系統成功上線,雖然在交付前有很多bug要調,但畢竟是一個完整的項目,雖然沒有OCD的Buybox那么牛逼,但畢竟人家是全員參與,而且很多有經驗的developer,我們能拿第二已經很欣慰了。

昨天去聽了UCSD在Facebook的實習生的經驗交流會,印象最深的就是Facebook不管你的學歷和學校或著gpa,他們找的是對互聯網有極高熱情且聰明的人,有了熱情和興趣,你便愿意投入時間和精力去做某件事,而聰明的人能更快的掌握工具,更短的學習周期和更好的學習效果,加快完成的時間

經過一個學期的項目,有太多的東西要學,html css js還有后端的技術,包括數據庫,回國后要靜下心來認真學了。下周final week,快回國了! 爭取再找份實習 加油少年!

Posted in?Uncategorized |?9?Replies

----

回憶學習:

美國的大學教育和中國的區別很大,就計算機科學專業來說,來了以后能強烈的感受到這邊對實踐的重視,比如我這學期的java課,總共有180多學生,編程作業占了40%的分數,每天機房都會有好幾個tutor和 Teaching Assistant 幫忙答疑解惑,可別小瞧這些 TA 和tutor,很多都是 Google 或者 Facebook的實習生,在 UCSD, ?TA 和tutor的制度非常完善,在全美也是數一數二的,前段時間有機會和老師聊了聊天,他說他們花了很多時間和精力在 tutor和 TA 計劃上,每年都有大量的優秀高年級本科生被招募作為低年級學生的 TA 和tutor,他們每周有一定的work time,每個quarter會拿到computer science and engineering department給他們的工資,而且加州的這些大公司比如Facebook,Google,傾向于要UCSD有 TA 或者tutor經歷的同學,因為他們了解UCSD的這個傳統,tutor和 TA都是優秀的同學,而且在tutoring的過程中,他們也學到了很多如何和人打交道,如何換位思考,這些都是在大公司的團隊工作時必不可少的。另外這邊的美國學生都很勤奮,努力,我的軟件工程課是一個團隊項目,我們的團隊有8名同學,絕大部分是美國學生,和他們做project的這三個月來感觸也很多,他們會為了一個界面的細節和你爭論到臉紅耳赤,也會因為自己的一個錯誤一再向你道歉,會為了趕進度在周末主動熬夜,有太多的細節和難忘的回憶。

總結

以上是生活随笔為你收集整理的软件工程资料 - 优秀的大学怎么教程序开发和软件工程课的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。