The University of St. Thomas

Graduate Programs in Software

Faculty & Staff

Faculty & Staff

Brad Rubin Ph.D.
Brad Rubin

Associate Professor

bsrubin@stthomas.edu
Phone: (651) 962-5506
Fax: (651) 962-5543

Office Location: OSS 312

Courses taught in Spring 2014
SEIS 635-02
21068
Software Analysis and Design 0830-1500 S OSS 325

3 Credit Hours

This course covers basic object-oriented techniques for specifying, designing, and implementing software systems. Iterative development methodologies are emphasized. The Unified Modeling Language (UML) is used as a notational system for capturing the development process artifacts. Students will gain experience with a software tool for creating UML diagrams. Other topics include use cases, class discovery and domain modeling, responsibility-driven design, basic design patterns, software class design, converting designs to code, object-oriented testing, packaging, deployment, along with intermediate Java topics relevant to system implementation. This course also introduces ideas in functional and parallel programming. Students will work on an object-oriented team project, apply concepts and techniques to describe and create a working software system. Prerequisite: SEIS 610 and Java programming experience

SEIS 721-01
20598
Advanced Computer Security 1745-2100 R OSS 328

3 Credit Hours

This course is the next step beyond the prerequisite course, Computer Security. Given the security concepts and building blocks developed in the former course, this course both explores these previous topics in greater depth and covers additional topics. Topics will include advanced cryptography, single sign on leveraging directories,wireless network security, firewalls, VPNs, and intrusion detection and prevention systems, and other security technologies. There is significant coverage of application security issues (buffer overrun, SQL injection, cross-site scripting, etc.) as well. In addition, this course utilizes a computer security lab for hands-on exercises that reinforce the material and covers weekly current events in computer security. Prerequisites: SEIS 720, SEIS 645 and SEIS 635 required; SEIS 640 recommended

SEIS 736-01
22577
Big Data Architecture 1745-2100 T OSS 432

3 Credit Hours

This course covers emerging big data architectures, predominately Hadoop and related technologies that deal with large amounts of unstructured and semi-structured data. Topics include operating system, architecture, security, big data structure and storage. The primary applications discussed in this class focus on information retrieval, specifically text processing techniques and algorithms, such as parsing, stemming, compression, and string searching. Information retrieval is also a great case study for broader issues in building systems that scale and perform, so we discuss associated issues in data structures, algorithms, computational complexity, and measurement.

Courses taught in Fall 2014
SEIS 635-02
41977
Software Analysis and Design 0830-1500 S OSS 325

3 Credit Hours

This course covers basic object-oriented techniques for specifying, designing, and implementing software systems. Iterative development methodologies are emphasized. The Unified Modeling Language (UML) is used as a notational system for capturing the development process artifacts. Students will gain experience with a software tool for creating UML diagrams. Other topics include use cases, class discovery and domain modeling, responsibility-driven design, basic design patterns, software class design, converting designs to code, object-oriented testing, packaging, deployment, along with intermediate Java topics relevant to system implementation. This course also introduces ideas in functional and parallel programming. Students will work on an object-oriented team project, apply concepts and techniques to describe and create a working software system. Prerequisite: SEIS 610 and Java programming experience

SEIS 720-01
40417
Computer Security 1745-2100 W OSS 329

3 Credit Hours

This course covers both the engineering and human issues in computer security and the tension between them. The engineering issues include cryptography concepts, building blocks (conventional and public key, digital signatures, certificates, certificate authorities), algorithms, protocols (authentication, key distribution, SSL), biometrics, network security (firewalls, intrusion detection systems, wireless), email protection, malware (viruses, worms, trojans), and applications. This course emphasizes on the application security features of the Java programming platform. The human issues include social engineering, user password management, and computer crime. We also cover weekly current events in computer security. Prerequisites: SEIS 610 and Java programming experience required; SEIS 640 and SEIS 645 recommended

SEIS 736-01
41982
Big Data Architecture 1745-2100 R OSS 432

3 Credit Hours

This course covers emerging big data architectures, predominately Hadoop and related technologies that deal with large amounts of unstructured and semi-structured data. Topics include operating system, architecture, security, big data structure and storage. The primary applications discussed in this class focus on information retrieval, specifically text processing techniques and algorithms, such as parsing, stemming, compression, and string searching. Information retrieval is also a great case study for broader issues in building systems that scale and perform, so we discuss associated issues in data structures, algorithms, computational complexity, and measurement.

Interests:

Hadoop, big data, computer security, information retrieval, quantum computation.

Career Highlights:

Brad Rubin is an Associate Professor at the University of St. Thomas in St. Paul in the Graduate Programs in Software department where he teaches Big Data Architecture, Software Analysis and Design, Computer Security, and Advanced Computer Security.  Most recently, he is pursuing a research agenda using the Hadoop ecosystem.
 
Previously, he spent 14 years with IBM in Rochester, MN, working on all facets of the AS/400 hardware and software development, starting with its first release. He was a key player in IBM's move to embrace the Java platform, and was lead architect of IBM's largest Java application, a business application framework product called San Francisco (now part of WebSphere). He was also chief technology officer for the Data Storage and Information Management division of Imation Corp., as well as the leader of its R&D organization.
 
Dr. Rubin has degrees in Computer and Electrical Engineering from the University of Illinois, Champaign-Urbana, and a Doctorate in Computer Science from the University of Wisconsin, Madison.  He holds five patents and four invention disclosures, has authored many research and trade publications, consults, and is a frequent speaker on technology topics.

Courses:

Software Analysis and Design -- SEIS 635
Computer Security -- SEIS 720
Advanced Computer Security -- SEIS 721
Big Data Architecture -- SEIS 736

Academic History:

Ph.D., Computer Science, University of Wisconsin-Madison
M.S. Electrical Engineering, University of Illinois-Urbana
B.S. Computer Engineering, University of Illinois-Urbana