CSCE 431: Software Engineering
Frequently Asked Questions
Enrollment
-
I'm on the waiting list. Will I get in?
- Our goal is to accommodate as many as possible, subject to college enrollment limits and room limitations. The department has a preference order that takes into account major, prior failed attempts to register for the course, etc. It tends to be that many students on the waiting list will get into the course. Please add your name on the waiting list by submitting a force request.
-
Howdy shows the course is full, but I know the room will hold more students than that.
- The course enrollment limit is set below the room capacity, either due to the college enrollment limit (no more than 100 students in a lecture section) or to reserve capacity for computer science or computer engineering students.
Project
-
What will the project be like?
- Teams of 5-6 students will work with a real external customer (generally non-profits and campus units) to design, plan, develop, test, and deploy a software-as-a-service application. Teams are normally six students, but enrollment may require some teams of five students.
-
What platforms/languages/etc. can we use?
- The current versions of Ruby and Rails. Deployment will be on Heroku.com, although with instructor permission, deployment can be on other platforms.
-
Can the project use another language/platform/etc. for the project other than Rails?
- No. It must be based on Rails because of the tool chain we use in the course.
-
What if the project is primarily a static-content website?
- Such projects must have some significant service functionality that would not be available in an off-the-shelf content management system, such as Drupal, Joomla, WordPress, etc. This is rarely true for static-content sites.
-
Can I write a mobile phone app instead?
- The project can have a mobile client component in JavaScript+HTML5. An example would be access of the phone GPS for a location-based service. But the majority of the focus should be development on the server side. The course will not provide any support for app development. All team members must understand both the app and server parts of the code.
-
How will project groups be assigned?
- You will form teams on your own. If you cannot find a team, post on Piazza and the TAs will help you.
-
Do I need to choose a project group before the course starts?
- No, but you can if you want. If there are people you like working with, you should discuss team formation early.
-
Can projects be proprietary?
- The project details must be available to the instructors, TAs, and fellow students, without any nondisclosure agreement (NDA). The contents of the service can be proprietary, and demonstrated with placeholder content for demonstrations. You will also be expected to use various tools to analyze your code, and many of those tools expect to operate on code that is hosted on a publicly-accessible repository.