Report - Computer Science and Engineering

advertisement
Capstone Courses Semester-Conversion Course Group Report
Background
A Capstone Design course serves as a class in which students synthesize
interdisciplinary solutions to open-ended problems, while working with their peers.
Most Computer Science Capstone Design courses appeared to have gravitated to
externally sponsored projects where an attempt is made to create a project setting
that is representative of the real-world – in that the projects had a customer that
provided requirements, and uncertainties such as scope, priorities, unknown
technologies and delivery deadlines. Capstone Design courses were mostly offered
in the final year of an Undergraduate program as a culminating Senior Project
experience that created important assets for students’ employment portfolio. These
courses were sometimes connected with internships – as lead-ins or extensions to
internships or replacements for internships.
Within CSE our Capstone Design courses play an important role in the ABET
certification process. The ABET criterion for such courses states:
Students must be prepared for engineering practice through a curriculum
culminating in a major design experience based on the knowledge and skills
acquired in earlier course work and incorporating appropriate engineering
standards and multiple realistic constraints.
Thus:
1. The curriculum must *culminate* in this course. While some students may
well take more than one Capstone Design course, each has to be designed to
be a culminating experience.
2. The course must be a major design is an absolute requirement. Thus, a
course focused on arbitrary research or project work is not appropriate.
3. The course must be based on knowledge and skills acquired in earlier course
work. That is, the capstone design course should not introduce new topics
that students have to learn before they can work on the design project. If
such prerequisite knowledge is required, a suitable technical elective should
be developed where the student can acquire the knowledge before taking the
capstone design course in question.
4. The course must "incorporate engineering standards.” In Computer Science
standards may be interpreted as accepted coding standards, standard
methodologies, interface standards (such as SQL) and data standards.
5. The course project must incorporate "multiple realistic constraints.” These
constraints will drive the design. Schedule is almost always a constraint in
these projects. Functional and non-functional requirements will also be
sources of constraints.
The capstone design courses also help to meet CSE program requirements with
respect to team work, lifelong learning, and communication skills. These
requirements
are
described
at
http://www.cse.ohiostate.edu/~neelam/abet/DIRASSMNT/secondGroup.html.
Current Set of Courses in the Group
The CSE program currently comprises the following 5 Capstone Design courses:
1. CSE 682: Computer Animation
2. CSE 731: Knowledge-Based Systems
3. CSE 758: Software Engineering Project
4. CSE 762: Web-Services Capstone Design
5. CSE 772: Information System Project
6. CSE 778: Computer-Aided Design and Analysis of VLSI Circuits
7. CSE 786: Game Design
Evaluation of Courses
This package of Capstone Design courses has several advantages, as follows:
 Ability to take multiple Capstone Design courses: Each Capstone Design
course has a different focus, and flavor, and students may take multiple of
these courses so as to be able to see new areas, to get multiple project
experiences and sometimes to compensate for a bad previous project
experience.
 Focus in a disciplinary area: Some of these courses – such as the VLSI,
knowledge-based systems and the game capstone allow for a deep project
experience in a particular area.
 Industry engagement: Certain of these courses serve as “safe” ways in which
to give students real industry relevant experiences.
 Introduction to research: They have served as a way to connect UG students
with research projects
 Employment portfolio: Especially for those without internships, these
Capstone Design courses serve as a means of getting real-world experience.
 End-to-end project visibility: The software intensive Capstone Design
courses – 758, 762, 772 and 786 – provide an experience of the full lifecycle
of software projects.
 Learn from others: Students in group-projects learn from each other, but also
by observing the other groups in the class. Since each group typically has
different experiences, this observation gives wider visibility into multiple
aspects of projects.
Students have been very appreciative of these project courses, as evidenced by
solicited feedback in SET/SEI, and the exit surveys as well as unsolicited feedback
from students.
There are also the following disadvantages and issues with our current Capstone
Design package:
 Consistency: Each course has differences in technology exposure, process
used, management, and prerequisites. Certain Capstone Design courses
(758) emphasize the process and provide process guidance, but (being
technology agnostic) might not include attractive technologies, while
others care only about the final product, and let the process be mostly ad
hoc. This lack of consistency extends to the learning outcomes, and hence
the assessment components as well.
 Overlap: Several courses are similar, in particular, 758, 762 and 772.
 Short duration: The quarter-long duration results in a lack of depth in the
experience. Students get exposure to issues, but rarely get to solve them.
 Weight: Since there are a number of Capstone Designs and students can
take more than one, the project does not have the importance of a “senior
project.”
 Narrow non-integrative, sub-disciplinary view: The fact that these
courses evolved from the disciplinary tracks within CS, such as AI, SE,
VLSI, and Databases, means that the focus is narrowed to “how to apply
AI,” or “how to do apply a software methodology,” rather than holistic
problem solving where multiple technical and non-technical techniques
drawn from more than one sub-discipline are applied in a manner
tailored to the project.
 Lack of applications that use emerging technologies: In addition to
exposing students to current and established technologies like J2EE or
.NET, students will benefit from early exposure to emerging technologies
that are just coming into commercial use – such as MapReduce and
Hadoop for data analytics, HPC, sensors and networking, visualization,
knowledge-based systems (using OWL and Protégé), and social
networking frameworks (Google API, Facebook API etc.). These
technologies are today where web services were several years ago.
 Missing coverage: Once again, because of a lack of flexibility caused by a
disciplinary focus, there are important areas where there are no capstone
design courses – such as in systems software (operating systems and
embedded systems).
 Infrastructure support: Several Capstone Design projects are done by
students on their personal machines. Certain capstones (CSE 758 and CSE
762) are now using the department “cloud.”
 Lack of alignment: Primarily because our Capstone Design courses are
only one quarter long, they are not aligned with Capstone Design courses
in other Departments, or with the College’s interdisciplinary Capstone
Design. Thus, creating projects where students from multiple disciplines
collaborate is difficult.
 No leverage by the Department for development purposes: Capstone
Design projects are extremely showcases for student and donor
recruitment, and industry sponsorship. We are simply not leveraging
these courses for these purposes.
Conversion to Semesters
The semester conversion gives us an opportunity to increase the scope of the
Capstone Design experiences we provide to our students as well as to address
several of the deficiencies listed above. In the new structure, the Department will
continue to offer multiple Capstone Design courses, while offering sponsors and
students the opportunity to use the Software Applications Capstone for projects that
do not fit in the other Capstones. The semester conversion will be used as an
opportunity to retire Capstones – such as the VLSI Capstone. One faculty member
will be formally or informally responsible for the overall coordination of all the
Capstones. Capstone faculty will also collaborate on evaluation as well as joint
showcasing of the Capstone projects to industry, alumni, potential new students etc.
Thus, the following Capstone courses will be offered:
1. Software Applications: 4901. Coordinator: Rajiv Ramnath
2. Game Design: 4902. Coordinator: Roger Crawfis.
3. Animation: 4903. Coordinator: Rick Parent.
4. Knowledge-based Systems: 4904. Coordinator: Eric Fossler-Lussier
(Instructor: Naeem Shareef)
One additional Capstone course is under consideration:
1. Data Management: 4905. Coordinator: Hakan Ferhatosmanoglu
All Capstones will share a set of common learning outcomes (see below) that will
support the CSE Program Outcomes. They may have individualized learning
outcomes in addition.
Certain advantages of our current system could, however, be lost. The proposed
program will become more complex in terms of planning, management and
allocation of teaching credit. Also, because semesters have a larger granularity, the
current ability of students to take multiple Capstone Designs will be reduced.
Finally, the number of students in steady state will increase (roughly by a third,
simply because 2 semesters is equivalent to 3 quarters).
<Syllabii of the courses>
Program Outcomes
Our current model, indeed the model that ABET expects, is that the Capstone Design
program make major contributions to achieving several of our program outcomes.
In particular, the capstone course is expected to contribute to each of the following
outcomes (number of asterisks indicate the importance of the Capstone Design
course's contribution to the corresponding outcome):
1. (***) an ability to design, implement, and evaluate a software or a
software/hardware system, component, or process to meet desired needs
within realistic constraints such as memory, runtime efficiency, as well as
appropriate constraints related to economic, environmental, social, political,
ethical, health and safety, manufacturability, and sustainability
considerations;
2. (***) an ability to function on multi-disciplinary teams;
3. (***) an ability to identify, formulate, and solve engineering problems;
4. (**) an understanding of professional, ethical, legal, security and social issues
and responsibilities;
5. (***) an ability to communicate effectively with a range of audiences;
6. (**) an ability to analyze the local and global impact of computing on
individuals, organizations, and society;
7. (**) a recognition of the need for, and an ability to engage in life-long learning
and continuing professional development;
8. (**) an ability to use the techniques, skills, and modern engineering tools
necessary for practice as a CSE professional;
9. (***) an ability to apply mathematical foundations, algorithmic principles,
and computer science theory in the modeling and design of computer-based
systems in a way that demonstrates comprehension of the tradeoffs involved
in design choices; (***: this last clause about tradeoffs is especially
important.)
10. (**) an ability to apply design and development principles in the construction
of software systems of varying complexity.
Common Learning Outcomes
1. Master synthesizing and applying prior knowledge to designing and
implementing solutions to open-ended computational problems while
considering multiple realistic constraints.
2. Be competent in evaluating design alternatives.
3. Be competent with software design and development practices and standards
4. Be familiar with researching and evaluating computing tools and practices for
solving given problems.
5. Be competent with deadline driven projects in a team setting.
6. Be competent with issues of project management, such as teamwork, project
scheduling, individual and group time management.
7. Be competent with presenting work to a group of peers.
8. Be familiar with presenting work to a range of audiences.
9. Be competent with techniques for effective written communication for a range of
purposes (user guides, design documentation, storyboards etc.)
10. Be familiar with analyzing professional issues, including ethical, legal and
security issues, related to computing projects.
Prerequisites
All Capstone Design courses will have the Junior Project courses and the Ethics
course as pre-requisites. Coordinators of the Capstone Design courses will specify
additional pre-requisites, such as:
 Software Applications: Software Engineering
 Game Design: Software Engineering (TBD), Graphics, AI courses.
 Animation: Graphics courses
 Knowledge-based Systems: AI courses.
 Data Management: Databases.
 Systems and Networking: Systems-2
If the Engineering Education Innovation Center offers a project management course,
it could be considered as a pre-requisite for Capstone courses other than the
Software Applications Capstone (for which Software Engineering is already a prerequisite with sufficient project management content).
Allowing holistic problem solving by using techniques from multiple technical
disciplines will increase the design experience, because students will have to select
more than one technology or approach in order to solve a problem, which is an
important and very realistic design problem. Finally, the learning they will do - to
pick up and integrate these new technologies – will contribute strongly to the
lifelong learning aspect of the course.
There is a concern that in any form of consolidation students will lack the necessary
pre-requisites to succeed in the project. In reality, there are ways to both manage
this, and, in fact, leverage this as an opportunity.
There are significant concepts and techniques that students do not know when it
comes to designing and building a realistic system, and no amount of curricular prerequisites will provide the students with everything they need to apply to their
project. The students pick up these skills as they do the project, and the Capstone
faculty and mentors help them in this process as well.
Also, ensuring appropriate prerequisites can be handled by the project selection and
assignment process. Thus, a particular (say, game) project can have a condition that
it can only be done by a group where a critical mass of students in a team has taken
the Graphics and the AI courses.
Course Management
1. Common processes and project management: Where applicable, and as
determined by the final structure of the Capstone Design courses, a cadre of
faculty will establish common processes for project intake, execution,
2.
3.
4.
5.
assessment and publicity. For the Applications Capstone Design, the
management faculty will most likely be our current adjunct and clinical faculty.
Handling increased number of students: A Capstone Design course might be split
into multiple sections, as needed.
Team mentors: In addition to the faculty managing the classes, and the
“customers” of the projects, teams could need project mentors that understand
and can help with applying specific technologies or methodologies used in the
project. Mentoring could be in some cases be the customers themselves. In most
cases, mentors will be other faculty with the necessary expertise.
Common Infrastructure: The department’s “cloud” will provide the necessary
computing resources.
Teaching credit assignment:
 Faculty that have the responsibility for Capstone Design courses will
receive appropriate teaching credit in the normal manner.
 Faculty who actively mentor Capstone Design teams will receive credit of
I course equivalent for mentoring a certain number of teams (say 5).
External Validation and Showcasing
All projects should meet externally relevant requirements. The importance of this
requirement cannot be understated in providing the students with a rich experience
and in meeting ABET requirements. For example, there could be a real customer
that provides the requirements, the project attempts to demonstrate user
acceptance and so on.
We propose a combined Capstone Design showcase on the evening of the last day of
finals’ week. All project sponsors will be required to attend.
Industry
representatives and representatives from the College and University will be invited.
Other Elements
 Integration with long-running projects and internships: While Capstone
Design courses will be the only means for receiving Capstone Design credit,
projects may start outside the Capstone Design courses (say, as an
internship, research project, or contest) and be continued as a Capstone
Design project. Projects may also be initiated within a Capstone Design
course and continue outside the course framework.
 Integration with research: Research faculty may provide projects to any of
the Capstone Design courses.
 Repeatability: Students may take more than one Capstone Design course.
They may also repeat the Application Capstone Design course for credit.
Issues Not Addressed:
 Integration with the College Capstone Design program will not be formally
attempted via the Capstone Design courses. We will find other means for
achieving this.
 Engaging undergraduates in research will not be a goal of the Capstone
Design courses. Research projects may certainly be proposed for the
Capstone Design courses if the projects meet the necessary criteria above.
Download