about
faculty
courses
major requirements
minor and other programs
undergraduate research
department facilities
extracurricular activities
internship and job search
after graduation
home> major requirements> Applications Programming

 Applications Programming

The Computer Science major requires an "applications programming" course as part of your graduation requirements. The purpose of this requirement is for you to gain experience using your computer science skills for an "application" outside the realm of "traditional" computer science courses. Note, however, that this requirement cannot be satisfied just by showing you have used your computer programming skills for an interesting application. The use of methods and strategies from computer science per se are an integral part of this requirement.

The most common route to satisfying this requirement is to take Math 300, Math Modeling. Several other routes are available, all of which involve you designing an appropriate "project" which meets your personal interests or career goals, but which also satisfies the department as to the significance of the computer science involved. Such projects can be internships or field terms with various companies, projects involving work with other departments at Beloit College, or even volunteer projects for charitable or non-profit organizations (locally or nationally). While we encourage you to think broadly of ways you can meet this requirement, we suggest the following six "normal" routes to satisfying this requirement. Other routes should involve comparable effort, supervision, and computer science skills.

The Applications Programming requirement can be met by:

  • Math 300. The Mathematical Modeling course is the traditional route used to satisfy this requirement. In this course you will construct mathematical models of various "real-world" problems, often converting those models into computer representations, and solving the problem via computer programs. You work in teams, prepare reports on the work you've done, give oral presentations of that work, and in other ways analyze the strengths and weaknesses of the model. It is the responsibility of the course instructor to verify that the quality of the programs you've written meets the standards for the applications programming requirement. This course is usually offered in the Fall of odd-numbered years.

  • CS 116 + Application: CS 116, normally offered in the Spring of odd-numbered years, concentrates on programming techniques for interfacing instruments with computers. The applications programming requirement can be satisfied by this course combined with a special project of at least 0.5 units that applies the techniques of CS 116 to a particular project. The project can be in any department or program, must have a sponsoring faculty member in that department (who supervises the special project course), and must also be supervised by a member of the Math/CS department.

  • CS 305 + Programming Internship. A programming internship taken for credit is acceptable to satisfy this requirement, but we require that you take Software Engineering prior to the internship. (Software Engineering is usually offered in the spring of even-numbered years.) Since such internships happen without active faculty involvement, we require that you submit the documents for your project as they would be used in the Software Engineering process. These documents must be submitted to your CS internship supervisor, at appropriate intervals during the internship, to document the presumption that you are using good CS strategies for your programming project. You must also submit a reflective essay after the internship. This essay may be customized to a particular internship, but generally includes at least the following points:
    • Which of the various life-cycle models of Software Engineering most closely approximates the program development used at your internship location?
    • How did your computer science skills (esp. those other than just programming skills) aid you in your internship?
    • What did you learn from your internship that would have been the most valuable to your Software Engineering classmates?
    • What do you think would have been the most useful things for your fellow employees at your internship to learn from a Software Engineering class that they, apparently, did not know?

  • Interdisciplinary Special Project. If you have interests and skills in another discipline at Beloit College, you may be able to design a special project that applies your Computer Science skills towards building an application of use to someone in that discipline. The requirements for such a project are:
    • It must use a substantial depth of computer programming or computer science skills (thus, for example, building Web pages would be insufficient, unless there were significant Java or cgi programming behind those pages);
    • It must build an application to be used by someone in the other discipline. This might be a tool for doing research, data analysis, or some common task they need to do. It could be a strict teaching tool, such as an application that allows a computer visualization of a concept they talk about in one of their classes. However, the requirement that this be something they would use is critical, and part of the course evaluation should be the usefulness of the product after you've left.
    • The course, which is normally numbered 390 in the sponsoring department, must be graded by a faculty member in the discipline to which the product belongs.
    • The writing, code and documentation, must be evaluated by a member of the CS faculty, who will provide feedback on the quality of that writing to the faculty member principally in charge of the course. You must either (a) Have taken CS 305 and submit the appropriate documents at appropriate intervals (as with a programming internship); or (b) Meet with the CS faculty sponsor for the project at least bi-weekly to evaluate the process of the building and documenting of your project.

  • Interdisciplinary Undergraduate Research. This route to satisfying the applications programming requirement is quite similar to the Interdisciplinary Special Project except that the second requirement above is replaced by a requirement that the project produce research in the other discipline at a level appropriate to present at the Beloit College Spring Symposium. Thus the external faculty member need not certify that this is an application that they would continue using after you've left Beloit, but they must certify that the application (at least as designed) would be able to produce undergraduate research in their discipline at the appropriate level.

  • Scientific Computation. This course applies skills of computer science to solving problems in the sciences. This course is not currently scheduled to be taught, but if you are particularly interested in it, you should talk to your major advisor about it. In some cases it may be possible to do a special project involving scientific computation.

In evaluating whether a project satisfies the "one unit or credit" for the applications programming requirement, the department uses the FACS rules for units, whether we are evaluating an internship, a special project, or a research project. Specifically, you need to perform at least 180 hours of work for 1 unit, and 90 hours of work for 0.5 units of credit. In addition, the programming effort involved in the project should be at least 90 hours for 1 unit and at least 60 hours for 0.5 units. If, at the conclusion of an applications project, the department determines that the work involved, or programming work involved, justifies only 1/2 unit of the applications programming requirement, you will need to take an additional 0.5 units in another Computer Science course, which can be a special project. This would be above and beyond the other major requirements. Note that generally, a special project CS 390 cannot count towards the major requirements, but this particular situation is an exception to that rule.

[Home] [Back] [Top]
Beloit College - Department of Mathematics and Computer Science
Copyright © 2002 - Beloit College. All right reserved.