Richard J. Povinelli

Machine Learning

Course Description and Prerequisites 

The first course in software engineering, covering the software life cycle, proper selection of data structures and algorithms, and the availability and choice of programming paradigms for appropriate design and implementation of well-engineered software. An open laboratory and significant programming experiences form an integral part of this course.

Prereq: EECE1610 or COSC1010

 Course Goals

By the end of this course, you should...

  • understand the software life cycle and demonstrate competence in using a life-cycle model to engineer a small software application.


 Course Objectives

By the end of this course, you should...

  • understand that sofware can be engineered using an accepted process called the "life cycle" know the phases of the software life cycle.

  • understand the different life cycle models, their advantages and disadvantage, to prepare for selecting a life cycle model in an actual software project.

  • understand and know how to use the most common tools in software engineering

  • understand that testing is an integral part of each of the phases of the life cycle, and be able to perform both non-execution-based and execution-based testing throught the life cycle.

  • know how to determine the requirements for a software product, and how to construct a rapid prototype to assist in developing those requirements

  • be able to do exploratory testing to evaluate the fitness of a software product.


Richard J. Povinelli, Ph.D., P.E.

Office: EN 221 (Haggerty Hall)

Online: Teams
Phone: 414.288.7088

Office Hours:

Tuesdays — 2:00 - 3:45 pm

Thursdays — 3:00 - 3:45 pm


If these times do not work for you, please make an appointment on Outlook 365 and schedule a time that works for both of us.