Department Overview
B.S. in Software Engineering, a disciplined
methodology for developing high quality software systems.
B.S. in Computer Science, the study of
algorithms, including the core areas of operating systems &
networks, programming languages, algorithm design & analysis,
theory, and application areas such as artificial intelligence and
database systems.
CSSE Department Admissions Brochure
(PDF)
CSSE
Department Liberal Arts statement
Aren't all computing jobs disappearing
overseas? NO! Read this page, Computing Careers, explaining the
situation at the ACM website.
Our department offers majors in Computer Science and Software
Engineering, and a minor in Computer Science. You can find the
details of these programs using the navigation on the left.
If you are a prospective student, please check out our Information for
Prospective Students page, which has FAQs, interviews, and
more.
What is Computer Science?
An algorithm is a set of instructions, or recipe, for solving a
problem. Computer Science is the study of algorithms for solving
problems. The core areas of computer science include:
- Computer Architecture (Hardware): We need computers to run our
algorithms.
- Operating Systems: We need these to make the hardware
useable.
- Programming Languages: We need to express our algorithms in a
way the computer can understand them.
- Algorithm Design and Analysis: We need to create algorithms and
analyze them for correctness and efficiency.
- Theory: We need to understand what algorithms can and cannot
do, because there are problems that cannot be solved by any
algorithm.
Before taking courses in the core areas of computer science,
students at Butler get a solid foundation in mathematical problem
solving and programming. They also have the opportunity to take
courses in application areas of computer science, such as
databases, web and internet programming, computer graphics,
cryptography, and so on.
Back to Top
What is Software Engineering?
Software Engineering is the study of methods and practices for
building and maintaining software systems. Today, commercial
software requires large teams of people to build and maintain.
Defining the roles of the people on the team, how they should
communicate, and the processes they should follow so that the
software they create is reliable and effective is a very hard,
ongoing research problem. The core areas of software engineering
include:
- Requirements Engineering: We need to specify exactly what the
software is supposed to do.
- Design: We need to know what algorithms to employ, and what
data structures and subsystems to use.
- Development: We need to coordinate a team of programmers to
build the software system.
- Testing and Quality Assurance: We need to we make sure the
software matches the requirements.
- Maintenance and Re-Engineering: We need to repair, adapt, and
modify existing systems to keep pace with changing
requirements.
There is a perception today that software engineering jobs are
all moving overseas. It is true that the development of software
from a good design can, and often is, outsourced. But the other
areas of software engineering are very difficult to outsource.
Those jobs are here.
Like students in the computer science program, our software
engineering majors begin by building a foundation in mathematical
problem solving and programming. They also get a solid background
in computer science before specializing in software engineering
courses. All software engineering students do a team-oriented
industrial internship. Additional software engineering experience
is available on campus through our service-learning program,
EPICS.
Back to Top
Double Majors
Most of our students, whether majoring in computer science or
software engineering, choose to add a second major or a minor. We
strongly encourage this, as it gives our students a broader and
more balanced background, and it gives them an advantage in the
marketplace. Recent choices for a minor or second major include a
foreign language, business (accounting, finance, etc.), economics,
mathematics, media arts, music, philosophy, physics, and political
science. Business, mathematics, and media arts are the most popular
choices. Also, students may designate computer science or software
engineering as their major and enroll in the Butler
University/IUPUI dual-degree engineering program. In this case,
electrical engineering is a common choice for the engineering
degree.
Career Preparation
We help our students prepare for a career in several ways. There
are many, many opportunities for internships in
Indianapolis.(Typically we have more opportunities than students!)
Some students have done internships overseas. We require all our
students to take an ethics course specifically designed for
computer science students. We have an industrial advisory board of
local CEOs and CIOs whom often visit the department, and a local
professional (often a department alum) talks to our students once a
month over lunch.
In addition, students with interest in graduate school may
choose to participate in undergraduate research through the Butler
Summer Institute. Our department supports and participates in the
University Honors Program.
Aside from our students who choose to attend graduate school,
the vast majority of our graduates find good jobs in the computer
industry within a few months of graduation, and often they have
offers well before graduation from a company they interned
with.
More Questions?
If you have more questions, feel free to browse or search our
website, or contact Jon Sorenson (317) 940-9765 for more
information.