Hello World! CSE442 Course Summary • A semester long group project – You will develop software from idea to implementation • You have full freedom to choose your project – Choose something you’re passionate about • Informal course descriptions: – “Put everything you’ve been learning to good use” – “Show me something cool” Course Expectations • This is not a course on programming! – You have been learning how to write code for years – Now you will apply your programming skills to your own project • There will be a lot of self-learning – Being a good software engineer means constantly teaching yourself the topics you need – There is too much for us to teach everything in 4 years of college Grading • 12 point system – 3 project submissions @ 2points each – Project presentation – 2 individual snag submissions – 1 individual snag presentation – Make a quality resume – Create a LinkedIn profile Letter Grading Points Course Grade 12 A 11 A- 10 B+ 9 B 8 B- 7 C+ 6 C 5 C- 4 D 0-3 F No • • • • • No exams No quizzes No participation grade No homework No recitations No Recitations • All recitations are cancelled for this course • Use this time to meet with your group at least 1 hour/week • I wont always repeat Piazza posts in lecture – You should be checking Piazza regularly More so than most • You’ll get out what you put in! • Getting an A shouldn’t be very difficult in this course – Getting an A should be your minimum goal – You can get so much more if you choose to Baldy 19 • You should all have access to the lab • Equipment can be used in the lab – Oculus Rift – Graphics processing machines – Myo Armband – etc. • Most of the equipment is still in the mail.. • TA office hours will be in Baldy 19 Project Scope • Projects must be large enough for a group of computer science seniors working for an entire semester • Project ideas must be approved by me and I will assess them for this single criteria • I encourage you to work outside your comfort zone • There is no upper bound on project scope – I will do my best to make it clear what needs to be done to get full credit Project Ideas • Many of the suggestions I provided are projects that I’ve wanted to do – Never found the time to complete them – In my experience, this is universally true for anyone with programming experience • I am giving you the time – Work on the project you’ve been wanting to do Project Logistics – Forming Groups • You have full freedom to choose your own groups – int minimumGroupSize = 3; • If you don’t want to choose your group: – I will form groups based on your interests – Interests will be collected via a Google form – Target group size will be 4 – In some cases, I might merge you with an existing group • All groups will be finalized by September 12 Project Logistics – Forming Groups • Use Piazza – I recommend (some of you have) that you pitch your project idea on Piazza to form a group – The goal: All members of your group are passionate about the project • Just about guarantees that you’ll all end up with A’s Project Logistics – The Pitch • Each group must provide an electronic project pitch by September 18 • Sell your project idea to a technical audience – How would you pitch your idea to a VC? • The pitch could be: – A pdf outlining your idea – A video – A song? • These pitches will be used to advertise the class and your projects Project Logistics – The Submissions • 3 Submissions • All submission must be of working code – This includes the first submission • Each will be a video demo of the software uploaded to YouTube – No supporting documents necessary – No technical details required – The video should sufficiently show what your software does – Videos should be concise • If you’re unsure what to post, think KickStarter Project Submissions • These are rough guidelines for grading – Projects will differ greatly and specific grading criteria may be defined for each project • Submission 1 – Demo a prototype that runs and gives an idea of what the final product might look like • Submission 2 – A demo of your software showing some functionality that works • Submission 3 – A demo of your final product Project Logistics – The Presentation • Each group must give a live presentation of their project to the class (10-15 minutes) – Can/should contain a demo of the final software – Explain the technical details of your project • Languages, libraries, hardware, etc. • Unexpected difficulties encountered • Anything else you’d like to share • All group member must be present – Not all have to talk • Think Hackthon Presentation GitHub • We will use the UB-CSE organization to host all projects – Your group will create and maintain your own repo in this organization – Use your own GitHub accounts and you will be added to UB-CSE • If you choose not use UB-CSE, let me and the TA’s know where your project is hosted Project Logistics - Summary • By the end of the semester you will have – An electronic pitch of your project – 3 videos showing the progress of your software – Original software with real functionality Sang Submissions • Brief description of an issue you encountered while working on your project • Must describe something specific to your individual effort on the project • Should be < 1 page unless more space is needed – A paragraph or 2 can suffice • Conversational tone Snag Presentation • Present one of your snag submissions to the class • < 5 minutes • If you present an unresolved issue – This can become a class debug session • Individual presentations Resumes • Final resumes will be due October 5 – StemUp career fair will be October 7 • Resumes must be of high quality to receive credit • There will be 2 prior submissions for resumes that you can use for feedback and revisions – Take advantage of them LinkedIn • Create and populate a LinkedIn profile by October 5 • Grading will not be as strict as it is for resumes – Not all companies use LinkedIn, but they require resumes Day 1 Survey • Optional • If you haven’t already responded – Do you want to be a Software Engineer? Coming up • Wednesday – git and GitHub • Friday – Agile and Scrum • The rest of the course – Lessons in Software Engineering – Guest Speakers – Presentations by you This is the New CSE442 Enjoy!