ECE 36400 - Software Engineering Tools Laboratory

Note:

This course is currently running as ECE 49595 Software Engineering Tools.

Course Details

Lab Hours: 3 Credits: 1

Counts as:

Normally Offered:

Each Fall, Spring

Requisites:

ECE 26400

Catalog Description:

To acquaint the students with a variety of current software engineering tools, scripting languages, and application programming languages. Students are expected to use their previous programming experience to design and test software programs using the techniques learned in this course.

Required Text(s):

  1. A Practical Guide to Linux Commands, Editors, and Shell Programming , 3rd Edition , Mark G. Sobell , Prentice Hall , 2012 , ISBN No. 9780133085044

Recommended Text(s):

  1. Python Essential Reference , 4th Edition , David M. Beazley , MacMillian , 2009 , ISBN No. 978-0672329784
  2. The Quick Python Book , Harms and McDonald , Independent Publishing Group , 2000 , ISBN No. 978-1884777745

Learning Outcomes:

A student who successfully fulfills the course requirements will have demonstrated:
  1. an ability to use scripting languages to integrate the input/output of diverse software systems. [1,2,6]
  2. an ability to apply testing techniques to assess software reliability and correctness. [1,2,6]
  3. an ability to design modern user interfaces. [1,2,6]
  4. an understanding of regular expressions. [1,2,6]
  5. an ability to design and incorporate classes in their programs. [1,2,6]
  6. an ability to incorporate associative arrays in their programs. [1,2,6]

Lab Outline:

Lab Activity
1 Version control and Bash command shell introduction
2-4 Bash commands, file input/output, arrays, sorting, text processing.
5-8 Python scripting and application program language
9 Practical Exam I
10-11 Objected oriented programming and GUI creation in Python
12-14 Final Project
15 Practical Exam II

Assessment Method:

Each outcome is associated with multiple tasks in laboratory exercises, items in practical exams, and/or specific requirements in the final project. The following list enumerates the tasks which students must complete at least once during the semester. Items 1 and 2 correspond to outcome "i." for each of the scripting languages taught in ECE36400. Items 3 through 7 correspond one to one with outcomes "ii." through "vi." 1. Student has successfully written a Bash script which interacts with the operating system. 2. Student has successfully written a Python script which interacts with the operating system. 3. Student has successfully tested a Python program for software reliability and correctness. 4. Student has successfully written a Python script which uses an interactive user interface. 5. Student has successfully written a Python script which requires the use of regular expressions. 6. Student has successfully written a Python program which requires the design and use of Python classes. 7. Student has successfully written a Python program which requires the design and use of associative arrays.