ECS 193A/B Senior Design - Department of Computer Science
Transcription
ECS 193A/B Senior Design - Department of Computer Science
Prof. Xin Liu Computer science Department University of California, Davis Jan. 2015 Prof. Liu, CS, UC Davis, 2003 – now ◦ Computer networks ◦ liu@cs.ucdavis.edu Prof. Mohapatra, Faculty advisor, vice-chancellor ◦ Computer networks ◦ prasant@cs.ucdavis.edu TA Aveek Kumar Das ◦ akdas@ucdavis.edu TA Chao Xu ◦ chaoxu@ucdavis.edu Reader (TBD) Negotiate, clarify, and document client requirements Understand the pros and cons of available technologies/products Apply knowledge of fundamental algorithms, programming language concepts, and design patterns to determine an overall design for the system Implement a fully specified system Test a fully specified system Plan and monitor the progress of software projects to ensure on time delivery of a high-quality system Communication with client Team work and communication Presentation Technical writing Team projects with real clients Self-formed teams of 4 Bid on 6 projects by Wedn. 11:59pm ◦ Your qualifications, related experience, GPA if you are willing to share ◦ Your document should read well, clear and concise Maximizes your chance of your preferred projects ◦ NO Guarantee ◦ Templates on smartsite Understand the needs of clients Understand available technology You are welcome to look for and use existing code Design your system Implement your system and MAKE IT WORK Iterate the process Communicate with your clients Communication with your clients Solving your own technical challenges Deliver your design and product Load distribution and coordination among team members Rewarding and challenging Week1: Wedn. 11:59pm, submit your team bid W2: Monday, announce team-challenge matches. W4: Spec_v1 due, Design_v1 due. W8: Testing doc due. W9: Prototype Due W10: Spec_v2 due, Design_v2 due. W5: Beta System Due. W6: Final testing document due. Preliminary delivery to clients. W9: Final delivery to clients. Final weeks: Class presentation, COE Showcase, Demo. Github How to make a good presentation How to write a good report Project management How to succeed after graduation (alum) Entrepreneurship, startups Design thinking (temporary) … Class on Mondays 12:10-2pm Lectures and team updates Weekly team meeting Weekly team meeting with instructor starting week 2 on Mondays and Tuesdays (sign up sheet later). 20 minutes. Be prepared. If your team is presenting in class in a given week, you do not need to meet me that week. Incomplete at the end of first quarter ◦ Need to take both 193A and 193B to receive benefits and course credit Grades will be given AFTER delivering to your client at the end of 2nd quarter You will grade and be graded by your teammate ◦ Can be up to a letter grade difference within a team Depends on ◦ Challenges, results, client satisfaction, creativity ◦ Bottom line: a working delivery Subjective aspect Communications ◦ A necessity for life Drop now or never To be fair to your teammates, your client, and students on the waiting list. 193B enrollment required Signed commitment document with your UG advisor ◦ for non-CSE majors ◦ Included in your bidding document ◦ Your team proposal will not be reviewed without the commitment document Understand and communicate well with your clients Do not try to do/promise too much Starts EARLY ◦ It takes longer and much longer than expected Good planning Weekly code reviews and discussion (and update with instructor) Start version control and documentation from the very beginning Good presentation, clear and concise Team communication and coordination very important Focused Prioritized Hierarchical UI is important and is time consumption Prototype ◦ Testing/demonstrating your most challenging and risky components/assumption Anything that can go wrong will go wrong Write down what you will finish each week Give yourself plenty of extra time Everything will take longer than you think If you are using technology that is new to you Work will be slower than usual KEEP TO THAT SCHEDULE! Learn all “new” tools well at the very beginning Know where to look for answers before you actually need to (see: Stack Overflow) Use version control and document all commits Document code as you write it Follow code conventions Stay focused Start working hard NOW! IP Hardware TAs Smartsite: handin, grade Piazza: team forming, Q/A, discussions Schedule management 43 design challenges 1 core CS development 8 from medical school/health system 4 national reserve 6 company and startups 1 legislation related 4 robotic-related 2 agriculture 4 environmental, energy related 1 NASA (through MAE) English, MAE, arts, MIND, Vet, etc. Two student-owned projects ◦ RTS game using Oculus Rift and Kinect ◦ Secure Messaging App Using One Time Pad Quail Ridge National Reserve Sustainable agriculture Design thinking ThinkLink and Barobo Education legislation Android PC