Bachelor's degree

In Maynard (USA)

Price on request

Description

  • Type

    Bachelor's degree

  • Location

    Maynard (USA)

  • Start date

    Different dates available

This course on software engineering covers design and implementation of medium-scale software systems, using web applications as a platform. In the course, students learn the fundamentals of structuring a web application and writing modular code, with an emphasis on conceptual design to achieve clarity, simplicity, and modularity. Topics also include functional programming, relational databases, and security.

Facilities

Location

Start date

Maynard (USA)
See map
02139

Start date

Different dates availableEnrolment now open

Questions & Answers

Add your question

Our advisors and other users will be able to reply to you

Who would you like to address this question to?

Fill in your details to get a reply

We will only publish your name and question

Reviews

Subjects

  • Engineering
  • Project
  • Web
  • Materials
  • Design
  • Software Engineering

Course programme

Lectures: 2 sessions / week, 1.5 hours / session


Recitations: 1 session / week, 1 hour / session


This is a course in software engineering, with an emphasis on design. It focuses on building web applications and services because of their obvious relevance to students in building practical skills, and because there are so many readily available examples to study.


In addition to teaching the fundamental notions of structuring a web application, and how to write modular and elegant code, the course emphasizes behavioral and conceptual design: that is, designing the external behavior of the software rather than its internal structure. We believe that this aspect of design is the most important in practice, the least well-understood by MIT students, and the one that is hardest to acquire in standard industrial settings.


By the end of this course, you should expect to:


You will complete one introductory project, three solo projects, and one team project. Each project will be conducted in phases through which you will build an application incrementally. Key concepts that are needed to complete the project will be taught in class; the technologies you need will be taught through tutorials in recitation. All project work will be committed to GitHub. In the final phase of each project, you will write a brief critique of your own work, and in addition, a fellow student's work.


For most class sessions, you will be asked to read one or more short articles in advance. The class will begin with a tiny "nanoquiz" comprising a few multiple choice questions about the readings.


The measure of the acquired skills in coding and design work will be computed by selecting the best grades received for the design and code portions of the solo projects (Projects 1, 2, and 3).


Each student has 3 slack days for the solo projects that allow work to be submitted late without penalty. You may use the total of 3 days across the 3 projects in any way you wish. If you plan to use a slack day, you must insert a file with the name SLACK_DAY.txt in the top level directory of your repository that contains a note indicating how many days you are taking on that project. This must be done before the due date but may be updated (adding additional days) as necessary. Delays due to medical reasons should be declared as slack days in the same way, and will not count against your slack day credit if a doctor's note is provided. No other extensions will be given except under very unusual circumstances.


The solo projects are to be done individually though you may discuss your approach with fellow students, so long as (a) all written material is entirely your own, and (b) you explicitly acknowledge in your written materials who you talked to.


You are free to use any third-party code, whether as libraries or code fragments, and to adopt any ideas you find online or in books, so long as it is publicly available and appropriately cited (see the section on code in the MIT Academic Integrity Handbook for details). You may not use work produced by students in earlier offerings of this class. If you violate this policy, you can expect to be asked to drop the class (or worse). The team projects, of course, are intended to be fully collaborative.


The teaching staff of the course will endeavor to:


As a student, by taking this course, you agree to endeavor to:


Don't show me this again


This is one of over 2,200 courses on OCW. Find materials for this course in the pages linked along the left.


MIT OpenCourseWare is a free & open publication of material from thousands of MIT courses, covering the entire MIT curriculum.


No enrollment or registration. Freely browse and use OCW materials at your own pace. There's no signup, and no start or end dates.


Knowledge is your reward. Use OCW to guide your own life-long learning, or to teach others. We don't offer credit or certification for using OCW.


Made for sharing. Download files for later. Send to friends and colleagues. Modify, remix, and reuse (just remember to cite OCW as the source.)


Learn more at Get Started with MIT OpenCourseWare


Software studio

Price on request