http://www.uwplatt.edu/csse

Department Chair: Dr. Lisa M. Landgraf
Office: 211 Ullrich
Phone: 608.342.6064
E-mail: landgraf@uwplatt.edu

Software Engineering Program Coordinator: Dr. Yan Shi
Office: 210 Ullrich
Phone: 608.342.1512
E-mail: shiy@uwplatt.edu

Majors

Computer Science

  • Computer Technology Emphasis
  • Computer Information Systems Emphasis

Software Engineering

  • Digital Application Domain Sequence
  • Engineering Management Application Domain Sequence

Minors

Computer Science

About the Department and Majors

The UW-Platteville Department of Computer Science and Software Engineering offers two majors: one in computer science and one in software engineering. Students may also earn a minor in computer science from this department. Computer science is concerned with the theory and practice involved in the feasibility, design, implementation and evaluation of every aspect of computing. In addition to the valuable practical skills acquired in the study of computer science, the concepts and theories in the field provide exposure to some of the most imaginative and challenging ideas in the history of human intellectual development. The program is committed to blending the theory of computer science with the arts of programming and analysis, while providing attention to the business, ethical and moral aspects of computing in our society. Graduates are prepared for such positions as systems and applications programmers, analysts and various computer specialist positions.

Computer Science

www.uwplatt.edu/csse

Department Chair: Dr. Lisa M. Landgraf
Office: 208 Ullrich
Phone: 608.342.6064
E-mail: landgraf@uwplatt.edu

Computer Science Mission Statement

The mission of the computer science program is to provide a quality computer science education with significant hands-on and laboratory experience that will enable our graduates to practice their profession with proficiency and integrity.

Computer Science Goals

Graduates are expected to have:

  1. the ability to apply the principles of analysis and design to software development
  2. knowledge of data structures, databases, algorithms, computer architecture and operating systems
  3. the ability to develop effective software tests at the unit and system level
  4. knowledge about the tools and environments used for software development
  5. written and oral communication skills, ethics and professionalism to function effectively on software development teams, and in society in general
  6. the ability to engage in lifelong learning and recognize its importance

Computer Science Outcomes

  1. Foundation: Graduates will have a solid foundation in computer science. These graduates will be able to apply this fundamental knowledge to both their immediate professional software development tasks, as well as to acquiring new professional skills throughout their lifetime.
  2. Development: Graduates will be able to engage in effective software development practices over the entire system lifecycle. This includes design, implementation and testing.
  3. Professionalism: Graduates will conduct themselves ethically, honestly and professionally in all work environment activities. These activities include all interactions with employers, team members and peers, as well as customers.
  4. Presentation: Graduates will be capable of effective written and oral communication. Graduates will be capable of preparing and publishing the necessary project documents involved in the specification, design, testing and deployment of software. Graduates will also be capable of actively participating in customary project discussions, walk-throughs, reviews and inspections.
  5. Growth: Graduates will be able to provide themselves with lifelong learning capabilities, such as the ability to learn new tools, study new language processes and generally adapt to new surroundings throughout their careers.

Computer Science Major

The computer science major leads to a Bachelor of Arts or Bachelor of Science degree in two emphases: computer information systems and computer technology. The department offers a general minor. In addition, selected course sequences form emphases in computer science for a variety of other majors in the university.

Bachelor of Science Degree

Total for graduation120
General education53
Major67

Bachelor of Arts Degree

Total for graduation120
General education 153
Major67
1

Includes an additional nine credits in upper division coursework in humanities, fine arts or social sciences

Students completing a Bachelor of Science degree in computer science need only to complete the coursework specified for their chosen emphasis and university requirements. All computer science majors must complete at least 37 credits in computer science (not including COMPUTER 1130 or COMPUTER 1830) and the requirements in one of the emphasis areas of computer information systems or computer technology.

Academic Standards

All computer science majors must earn at least a “C-” in each computer science or software engineering course listed as a requirement in the emphasis selected and each computer science course listed in the core requirements. Students must have a G.P.A. of 2.00 or higher in all Computer Science and Software Engineering courses.

Software Engineering

www.uwplatt.edu/csse

Coordinator: Dr. Yan Shi
Office: 210 Ullrich Hall
Phone: 608.342.1512
E-mail: shiy@uwplatt.edu

University of Wisconsin Platteville’s Software Engineering program is accredited under the General Criteria by the Engineering Accreditation Commission of ABET, www.abet.org.

Software Engineering Mission Statement

The mission of the software engineering program is to provide a quality software engineering education with significant hands-on and laboratory experience that will enable graduates to practice their profession with proficiency and integrity.

Software Engineering Objectives

  1. Graduates are effective team members, aware of cultural diversity, who conduct themselves ethically and professionally
  2. Graduates use effective communication skills to assure production of quality software, on time and within budget
  3. Graduates build upon and adapt knowledge of science, mathematics and engineering to take on more expansive tasks that require an increased level of self-reliance, technical expertise and leadership

Software Engineering Outcomes

The following are the software engineering outcomes expected of the graduates of this program:

  1. Foundation: Graduates shall have a strong foundation in science, mathematics and engineering, and can apply this fundamental knowledge to software engineering tasks.
  2. Development: Graduates can effectively apply software engineering practice over the entire system lifecycle. This includes requirements engineering, analysis, prototyping, design, implementation, testing, maintenance activities and management of risks involved in software and embedded systems.
  3. Process: Graduates know classical and evolving software engineering methods, can select and tailor appropriate methods for projects, and can apply them as both team members and managers to achieve project goals.
  4. Professionalism: Graduates are knowledgeable of the ethics, professionalism and cultural diversity in the work environment.
  5. Quality: Graduates can apply basic software quality assurance practices to ensure that software design, development and maintenance meets or exceeds applicable standards.
  6. Presentation: Graduates have effective written and oral communication skills. Graduates can prepare and publish the necessary documents required throughout the project lifecycle. Graduates can effectively contribute to project discussions, presentations and reviews.
  7. Growth: Graduates understand the need for lifelong learning and can readily adapt to new software engineering environments.

Academic Standards

Software engineering majors must earn a “C-” or better in all required software engineering and computer science courses. Software engineering majors must earn a “D” or better in all corequisites unless otherwise stipulated by the offering department. For example, a “C-” or better is required in PHYSICS 2240 in order to proceed to PHYSICS 2340. However, a “D” in PHYSICS 2340 would satisfy the software engineering requirement for that course. Likewise, a “D” would satisfy the software engineering requirement for computer science courses for which there is an option: COMPUTER 3030, COMPUTER 3520, COMPUTER 3630 and COMPUTER 3920. A software engineering major may repeat any given engineering course only one time. Students must have a G.P.A. of 2.00 or higher in all software engineering and computer science courses.

To complete the general engineering requirements and enter software engineering, each student must complete the following five core courses:

ENGLISH 1130College Writing I3
COMPUTER 1430Programming in C++3
MATH 2640Calculus and Analytic Geometry I4
MATH 2730Discrete Mathematics3
MATH 2740Calculus and Analytic Geometry II4
Total Credits17

Students who complete their core courses must earn a 2.30 G.P.A. in those core courses to gain entry into the software engineering program.

General Requirements Bachelor of Science Degree

Total for graduation120
Major90-91

Majors

 Subjects in this department include: Computer Science (COMPUTER) and Software Engineering (SOFTWARE)

Computer Science (COMPUTER)

COMPUTER 1130 Introduction to Programming 3 Credits

An introduction to programming for students with no previous computer programming experience. Covers control structures, procedures, programming environments, and problem solving.
Components: Laboratory, Class
Typically Offered: Fall/Spring/Summer

COMPUTER 1430 Programming in C++ 3 Credits

A technical course in computing, algorithms, data representation, and procedural programming. Modularity and abstraction stressed in algorithm development. Style and documentation stressed in program development. Weekly lab programs engrain the syntax and semantics of C++. A few larger, out-of-class programs tie the concepts together.
Components: Laboratory, Class
Prereqs/Coreqs: P: previous programming experience, such as that provided by COMPUTER 1130 is recommended
Typically Offered: Fall/Spring

COMPUTER 1830 Microcomputer Applications 3 Credits

A course recommended for all non-computer science majors that need to know how to use the microcomputer. The major emphasis will be on using microcomputers with the most popular kinds of computer software used in business and education today including word processing, spreadsheets and database management. (Not open to computer science majors.)
Components: Laboratory, Class
Typically Offered: Fall/Spring

COMPUTER 2230 Programming in COBOL 3 Credits

To develop an understanding of, and provide practice in the use of proper strategies and techniques for business program design and development. To develop ability to apply the COBOL language to implement problem solutions. To gain the background for further study of software design and computer programming in a business environment. Emphasis on structured programming and program style.
Components: Class
Prereqs/Coreqs: P: COMPUTER 1430
Typically Offered: Spring

COMPUTER 2340 Programming in VB.NET 3 Credits

An introduction to event-driven, object-oriented programming techniques using Visual Basic in the .NET Framework. Students will design, code, and debug Graphical User Interface (GUI) programs applicable to business applications.
Components: Class
Prereqs/Coreqs: P: COMPUTER 1430
Typically Offered: Fall

COMPUTER 2430 Object-Oriented Programming and Data Structures I 3 Credits

An introduction to object-oriented programming. Emphasis on building and testing classes using software engineering techniques. Includes study of a standard class library and use of inheritance and polymorphism for building subclasses and extensibility. Coverage of the stack and queue classical data structures. Discussion of searching, sorting, and hashing techniques. Introduction to linked lists.
Components: Laboratory, Class
Prereqs/Coreqs: P: COMPUTER 1430 with a C- or better
Typically Offered: Fall/Spring

COMPUTER 2630 Object-Oriented Programming and Data Structures II 3 Credits

Continuation of the object-oriented programming and data structure topics from COMPUTER 2430. Coverage of pointers, templates, linked lists, trees, recursion, graphs, and algorithm analysis. Use of software engineering techniques such as inspections, test plans, and configuration management within a group-based project environment.
Components: Laboratory, Class
Prereqs/Coreqs: P: COMPUTER 2430
Typically Offered: Fall

COMPUTER 2990 Computer Science Special Topics 1-3 Credits

The subject matter and instructor for each instance of this class will be listed in the class schedule. Students should check with the instructor for details.
Components: Class
Typically Offered: Occasional

COMPUTER 3030 Artificial Intelligence 3 Credits

A study of knowledge representation, search techniques, expert systems, predicate calculus, and natural languages. Discussion of the successes and limitations of past and current AI programs. Programming assignments in LISP and Prolog illustrate formal topics.
Components: Class
Prereqs/Coreqs: P: COMPUTER 2630 and MATH 2730
Typically Offered: Spring-ODD

COMPUTER 3130 Systems Analysis and Design 3 Credits

Provide an understanding of the duties of the systems analyst and the specific methods and techniques for system development (preliminary survey through system design) with an introduction to utilizing CASE software throughout the entire process.
Components: Class
Prereqs/Coreqs: P: COMPUTER 2230
Typically Offered: Fall

COMPUTER 3230 Computer Architecture/Operating Systems 3 Credits

This course combines the strengths of two areas: Assembler Language Programming and Operating Systems. The major areas of Assembler such as Architecture, Data Types, Logic and Control and Interrupts will be covered. The major areas of Operating Systems including Processes, Mutual Exclusion, Critical Sections, Parallel Processing, Real and Virtual Storage, Job Scheduling and UNIX, VMS and NT will be emphasized.
Components: Class
Prereqs/Coreqs: P: COMPUTER 2430
Typically Offered: Spring

COMPUTER 3340 Windows Programming 3 Credits

Continuation of Windows programming techniques. Discussion of the Component Object Model (COM), Dynamic Link Library (DLL), and the Windows Application Programming Interface (API). Study also includes the Windows common controls, some Internet controls, and Dynamic HTML (DHTML).
Components: Class
Prereqs/Coreqs: P: COMPUTER 2630 or (COMPUTER 2340 AND COMPUTER 2430)
Typically Offered: Spring

COMPUTER 3520 Programming Language Structures 3 Credits

A study of programming language topics which include data objects, data types, storage management, syntax, BNF descriptions, semantics, lexical analysis and parsing. Examples taken from traditional languages as well as more modern languages.
Components: Class
Prereqs/Coreqs: P: COMPUTER 2630
Typically Offered: Fall

COMPUTER 3530 Systems Development and Implementation 3 Credits

Strategies and techniques of analysis and design for producing logical methodologies for dealing with complexity in the development and implementation of information systems. Use of software tools, file access methods and operating system facilities.
Components: Class
Prereqs/Coreqs: P: COMPUTER 3130
Typically Offered: Spring

COMPUTER 3630 Database Design and Implementation 3 Credits

This course will explore fundamental concepts necessary for the design, use, and implementation of database systems. Study of database modeling and design, languages and facilities provided by the database management systems, and techniques for implementing database systems will be examined. Major database models will be discussed with primary focus on the relational database model and query languages.
Components: Class
Prereqs/Coreqs: P: COMPUTER 2430 and MATH 1630 or MATH 2730
Typically Offered: Spring

COMPUTER 3830 Data Communications and Computer Networks 3 Credits

An introduction to data communications and computer networks. Study of the basic principles with a focus on the layers, protocols, and security used in the Internet. Socket-based and other programming projects.
Components: Class
Prereqs/Coreqs: P: COMPUTER 2430
Typically Offered: Fall

COMPUTER 3840 Introduction to Computer Security 3 Credits

An introduction to the principles of computer security. Topics include computer and system security, authentication, access control, malicious software, and software security. The course also examines how system designs, network protocols, and software engineering practices can result in vulnerabilities. The course explores how to design and implement systems to mitigate vulnerabilities. In addition, the course explores how to detect and mitigate vulnerabilities in existing systems.
Components: Class
Prereqs/Coreqs: P: COMPUTER 2430
Typically Offered: Spring

COMPUTER 3870 Web Protocols, Technologies and Applications 3 Credits

This course will introduce the students to protocols and technologies in Web Applications and Web Services. The Client/Server concept and some advanced database concepts will also be covered. The emphasis of the course will be using tools such as ASP.NET for rapid development of Web Applications and Web Services.
Components: Class
Prereqs/Coreqs: P: COMPUTER 3340; C: 3630
Typically Offered: Fall

COMPUTER 3920 Computer Graphics 3 Credits

An introduction to computer graphics including transformations; modeling; viewing and projection; color, lighting and shading; texture mapping; interaction; and animation. Use of a pipeline-based graphics library such as OpenGL. Several programming assignments, including some games-based projects.
Components: Class
Prereqs/Coreqs: P: COMPUTER 2630 and MATH 2640
Typically Offered: Fall-ODD

COMPUTER 4110 Seminar 1 Credit

The course consists of lectures/discussions presented by both computer science faculty and students enrolled in the class.
Components: Seminar
Prereqs/Coreqs: P: Computer Science major/minor and junior/senior standing
Typically Offered: Fall/Spring

COMPUTER 4230 Applications in Information Systems 3 Credits

Applications of computer programming and system development concepts, principles and practices to a comprehensive system development project. A team approach is used to design and develop a realistic system of moderate complexity. Also includes coverage of advanced features of the COBOL language.
Components: Class
Prereqs/Coreqs: P: COMPUTER 3530
Typically Offered: Fall

COMPUTER 4830 Special Topics in Computer Science 1-3 Credits

The subject matter and instructor for each instance of this class will be listed in the class schedule. Students should check with the instructor for details.
Components: Laboratory, Class
Prereqs/Coreqs: P: junior or senior standing
Typically Offered: Occasional

COMPUTER 4930 Independent Study in Computer Science 1-3 Credits

For the student who wishes to delve more deeply into a specific area of study topics not available through the scheduled classes.
Components: Independent Study
Typically Offered: Fall/Spring

COMPUTER 4990 Internship 1-6 Credits

Enhancement of the educational experience through specific work and observation with computers in a business, industry or institution. Prerequisites: upper-class standing,
Components: Field Studies
Prereqs/Coreqs: P: junior or senior standing; 18 or more hours of computer science credit
Typically Offered: Fall/Spring/Summer

Software Engineering (SOFTWARE)

SOFTWARE 2730 Introduction to Software Engineering 3 Credits

An introduction to software engineering principles, including discussions of development methodologies, requirements analysis, project planning, software design, software construction, software management, software quality, and CASE tools. Students gain experience, via a team project, in the life-cycle development of software systems.
Components: Class
Prereqs/Coreqs: P: COMPUTER 2430
Typically Offered: Fall/Spring

SOFTWARE 3330 Intermediate Software Engineering 3 Credits

A more detailed discussion of several software engineering topics included in previous courses including requirements engineering, software modeling, user-interface design, development processes and process improvement. Moderate size GUI-based group project.
Components: Class
Prereqs/Coreqs: P: COMPUTER 2630 and SOFTWARE 2730
Typically Offered: Spring

SOFTWARE 3430 Object Oriented Analysis and Design 3 Credits

Requirements engineering, analysis, and specification using the object-oriented paradigm. Object-oriented architectural and detailed design. Use of an OOAD modeling language such as UML. Investigation of OOAD patterns. Moderate size, group project.
Components: Class
Prereqs/Coreqs: P: COMPUTER 2430; C: SOFTWARE 2730
Typically Offered: Fall

SOFTWARE 3730 Software Quality 3 Credits

Study of the topics related to producing quality software, including software quality assurance, quality metrics, configuration management, verification validation, reviews, inspections, audits, and software process improvement models. Individual and team projects.
Components: Laboratory, Class
Prereqs/Coreqs: P: COMPUTER 2630 and SOFTWARE 2730
Typically Offered: Fall

SOFTWARE 3860 Software Maintenance and Reengineering 3 Credits

Study of the topics related to maintaining large-scale software systems. Study of software engineering topics such as estimation, software quality assurance, metrics, configuration management, verification validation, inspections, and personal and team software process as they relate to software maintenance projects. Coverage of traditional analysis and design methods such as structured analysis and design. Two, semester-long, team-based projects: reengineering a small system to be object-oriented and making changes to a moderate-sized existing software project.
Components: Class
Prereqs/Coreqs: P: COMPUTER 2630, SOFTWARE 2730 and SOFTWARE 3430
Typically Offered: Spring

SOFTWARE 3950 Software Engineering Cooperative Education 4 Credits

Work experience in industry under the direction of the College of Engineering, Mathematics and Science Cooperative Education and Internship Program. During co-op the student is expected to be away from his/her studies at UW-Platteville and work for an industry for a semester and summer. Credits do not fulfill graduation requirements.
Components: Field Studies
Typically Offered: Fall/Spring

SOFTWARE 3970 Software Engineering Internship 1 Credit

Work experience in industry under the direction of the College of Engineering, Mathematics and Science Cooperative Education and Internship Program. NOTE: This program is separate and distinct from the cooperative education program and is principally designed to cover the summer work experience. Internship is designed to provide experiential learning experience to the student during the summer period. Credits do not fulfill graduation requirements.
Components: Field Studies
Prereqs/Coreqs: junior standing
Typically Offered: Summer

SOFTWARE 4110 Software Engineering Seminar 1 Credit

The course consists of lectures/discussions presented by both software engineering faculty and students enrolled in the class.
Components: Seminar
Prereqs/Coreqs: P: Software Engineering major and junior/senior standing
Typically Offered: Fall/Spring

SOFTWARE 4130 Real-Time Embedded Systems Programming 3 Credits

An exploration of programming techniques and constructs used to develop reliable software systems capable of responding in real time to environmental changes. An overview of the platforms, tools, and processes used in developing software for embedded systems. Hands-on lab projects experimenting with real-time embedded systems programming details.
Components: Laboratory, Class
Prereqs/Coreqs: P: COMPUTER 2630 and SOFTWARE 3430 and (ELECTENG 3780 or COMPUTER 3230)
Typically Offered: Spring

SOFTWARE 4330 Software Engineering Project I 3 Credits

Emphasis in applying software engineering knowledge learned in this course and previous courses to a large, team-based, capstone project that spans two semesters. In-depth study of several software engineering topics introduced in earlier courses, such as requirements engineering; analysis and design methods; planning and estimation; project management; and metrics. An introduction to formal methods for specification and design.
Components: Class
Prereqs/Coreqs: P: MATH 2730 and SOFTWARE 3330 and SOFTWARE 3430
Typically Offered: Fall

SOFTWARE 4730 Software Engineering Project II 3 Credits

The project started in SOFTWARE 4330 is continued and carried to completion. In-depth study of several software engineering topics introduced in earlier courses, such as software construction tools and issues; unit development, review, testing, and maintenance; software reuse; and metrics. An introduction to current research issues in software engineering.
Components: Laboratory, Class
Prereqs/Coreqs: P: SOFTWARE 3730 and SOFTWARE 4330
Typically Offered: Spring

SOFTWARE 4980 Current Topics in Software Engineering 1-4 Credits

In-depth study of a current topic of interest to the software engineering profession. The topic to be covered will be identified in the course title.
Components: Class
Typically Offered: Occasional

SOFTWARE 4990 Independent Study 1-3 Credits

Advanced study in area of specialization selected by student and approved by faculty member.
Components: Independent Study
Typically Offered: Fall/Spring

Additional information about the Faculty and Lecturers below may be found in the Faculty and Academic Staff section of this catalog.

Chang, Lily

Clifton, Joseph M.

Gavin, Donna M.

Landgraf, Lisa M.

Meqdadi, Omar

Shi, Yan

Tian, Baozhong

Tian, Kun

Yang, Qi