Skip to content. Skip to main navigation.

avatar

Dr John Robb

Name

[Robb, Dr John]
  • Senior Lecturer, Department of Computer Science & Engineering

Biography

Senior Lecturer

University of Texas at Arlington

January 2015 – Present

Computer Science and Engineering department. Lecturing in graduate classes for Software Engineering and Software Testing

Software Engineering Manager II

BAE Systems

March 2014 – November 2014 (9 months)Fort Worth

Responsible for the KF-16 (South Korea) Mission Software Team overall software cost, schedule, plans, tools, processes and performance of the software team. The current team is 21 people with staffing plans to grow to 65 by mid-2015.

Software Engineering Manager

Parker Aerospace

May 2013 – March 2014 (11 months)

Both the Parker Aerospace Fort Worth Software Site Manager and the Parker Aerospace Software Verification & Validation Lead, responsible for supporting the development/verification of the software used for both commercial and military software projects. Accomplishments already include developing cost benchmarks for Parker safety critical software projects, managing a critical project toward successful closure, supporting CMMI Level 3 certification activities, updating the V&V plan to standardize our work, and supporting new project acquisition.

Senior Software Manager

Lockheed Martin

November 1981 – March 2013 (31 years 5 months)

Principal Embedded Systems Software Engineer (Mar 2013- Mar 2010)
Software productivity improvement specialist. Made a number of significant software process changes to the Engineering Core processes focused on improving software productivity in terms of cost, schedule and cycle-time. Was SME for the F-35 Software processes delighting F-35 with a number of requests for help and special assignments. Also worked with LM Space (Denver) to radically improve their software productivity and cycle time.

F-35 Air Vehicle Software Senior Manager (Feb 2010 – Aug 2004).
Senior Manager of the Air Vehicle Software team coordinating software activities of the F-35 aircraft software development. Responsible for coordinating the development of Vehicle Systems, Mission Systems, Air Vehicle PHM, and the Laboratory software development teams of over 9 M SLOC of software for the JSF aircraft regularly interfacing with 50+ teams (Prime and Supplier). Primary owner of the overall JSF software development process and was responsible for tool support and upgrades for the program.

JSF Vehicle Systems Software Integrator (Aug 2004 -2000 )
Responsible for managing and coordinating the plans, processes, and products to be developed for the Joint Strike Fighter Vehicle Systems IPT (about 1 MSLOC). Coordinating and planning the use of advanced software tools, techniques and processes to help ensure a successful delivery of software despite aggressive delivery schedules.

Senior Manager, F-22 Integrated Vehicle Systems IPT (2000 – 1991)
Responsible for the development, verification, and delivery of several safety-critical software configuration items controlling the F-22 aircraft. Responsible for managing and coordinating with over 50 software engineers working in ten teams across development sites in the United States and Canada. Products developed include safety-critical flight software, development and test tools, and test stand, computer hardware and software.

Professional Preparation

    • 2014 Ph.D. Engineering in Software EngineeringSouthern Methodist
    • 1993 Masters of Science in Computer ScienceUniversity of Texas at Arlington
    • 1982 Bachelor of Science in Computer ScienceUniversity of Texas at Austin
    • 1981 Bachelor of Science in Electrical EngineeringUniversity of Texas at Austin
    • 2006 Certified Program Management Professional (PM Program Management Institute
    • 2015 Software Engineering Master Certification IEEE
    • 2015 Certified Foundation Level Tester ISTQB

Appointments

    • Jan 2013 to Dec 2014 Member - Computer Science Industrial Advisory Board UTA CSE
      University of Texas at Arlington
    • Jan 2000 to Dec 2003 Advisory Panel Member
      Department of Natural Sciences - University of Texas at Austin

Memberships

  • Professional
    • Oct 2000 to Present IEEE
  • Senior Member
    • Jan 2000 to Present IEEE

Courses

      • CSE 3302-001 PROGRAMMING LANGUAGES

        Description of Course Content: Introduction, analysis, and evaluation of the important concepts found in a variety of programming languages. Formalisms useful in specifying language syntax and semantics; programming language paradigms such as algorithmic, functional, logic, and object-oriented.

        Student Learning Outcomes:

        By the close of the course, the successful student will be able to:

        1.         Describe the general principles that involved in the design of programming languages.

        2.         Explain the relationship between syntax and semantics as well as the differences between the two.

        3.         Describe the principal features of different programming language paradigms, including imperative, functional, and object-oriented/generic

        4.         Explain programming language concepts such as binding, naming, scopes, storage, control structures, functions, calling conventions, and exceptions and their interactions.

        5.         Explain how a variety of programming language constructs are implemented.

        6.         Describe the structure of a typical compiler and interpreter.

        Fall - Regular Academic Session - 2017 Download Syllabus Contact info & Office Hours
      • CSE 3302-002 Programming Language Concepts

        Description of Course Content: Introduction, analysis, and evaluation of the important concepts found in a variety of programming languages. Formalisms useful in specifying language syntax and semantics; programming language paradigms such as algorithmic, functional, logic, and object-oriented.

        Student Learning Outcomes:

        By the close of the course, the successful student will be able to:

        1.         Describe the general principles that involved in the design of programming languages.

        2.         Explain the relationship between syntax and semantics as well as the differences between the two.

        3.         Describe the principal features of different programming language paradigms, including imperative, functional, and object-oriented/generic

        4.         Explain programming language concepts such as binding, naming, scopes, storage, control structures, functions, calling conventions, and exceptions and their interactions.

        5.         Explain how a variety of programming language constructs are implemented.

        6.         Describe the structure of a typical compiler and interpreter.

        Fall - Regular Academic Session - 2017 Download Syllabus Contact info & Office Hours
      • CSE 4321-001 SOFTWARE TESTING & MAINTENANCE

        Description of Course Content: Software testing is one of the most widely used approaches to detecting software bugs, and often consumes more than 50% of the cost of software development. Furthermore, software testing is a mental discipline that helps developers to write quality code in the first place. Software testing knowledge and skills are at the core of the foundational knowledge and skills a software developer must master.

        Study of software quality assurance, software testing process, methods, techniques and tools. Topics include formal review techniques, black box testing, white box testing, integration testing, acceptance testing, regression testing, performance testing, stress testing, and testing of object-oriented software.

        Student Learning Outcomes: Understand the significance of software quality assurance and the role of software testing in ensuring software quality in the entire software lifecycle.

        Understand the concepts, principles, methods, and techniques for effective software testing.

        Be able to apply the methods and techniques that are covered in this course to perform effective software testing activities in practice.

        For each of the above, students will use a language, tool, or technique that is being widely

        used in industry, i.e. the:

        Programming language Java

        Integrated development environment Eclipse

        Test automation framework junit.

        Fall - Regular Academic Session - 2017 Download Syllabus Contact info & Office Hours
      • CSE 5321-001 SOFTWARE TESTING

        Description of Course Content: Software testing is one of the most widely used approaches to detecting software bugs, and often consumes more than 50% of the cost of software development. Furthermore, software testing is a mental discipline that helps developers to write quality code in the first place. Software testing knowledge and skills are at the core of the foundational knowledge and skills a software developer must master.

        Study of software quality assurance, software testing process, methods, techniques and tools. Topics include formal review techniques, black box testing, white box testing, integration testing, acceptance testing, regression testing, performance testing, stress testing, and testing of object-oriented software.

        Student Learning Outcomes: Understand the significance of software quality assurance and the role of software testing in ensuring software quality in the entire software lifecycle.

        Understand the concepts, principles, methods, and techniques for effective software testing.

        Be able to apply the methods and techniques that are covered in this course to perform effective software testing activities in practice.

        For each of the above, students will use a language, tool, or technique that is being widely

        used in industry, i.e. the:

        Programming language Java

        Integrated development environment Eclipse

        Test automation framework junit.

        Fall - Regular Academic Session - 2017 Download Syllabus Contact info & Office Hours
      • CSE 4321-002 SOFTWARE TESTING

        Software testing is one of the most widely used approaches to detecting software bugs, and often consumes more than 50% of the cost of software development. Furthermore, software testing is a mental discipline that helps developers to write quality code in the first place. Software testing knowledge and skills are at the core of the foundational knowledge and skills a software developer must master.

        Study of software quality assurance, software testing process, methods, techniques and tools. Topics include formal review techniques, black box testing, white box testing, integration testing, acceptance testing, regression testing, performance testing, stress testing, and testing of object-oriented software.

        Spring - Regular Academic Session - 2017 Download Syllabus Contact info & Office Hours
      • CSE 5321-001 SOFTWARE TESTING

        Software testing is one of the most widely used approaches to detecting software bugs, and often consumes more than 50% of the cost of software development. Furthermore, software testing is a mental discipline that helps developers to write quality code in the first place. Software testing knowledge and skills are at the core of the foundational knowledge and skills a software developer must master.

        Study of software quality assurance, software testing process, methods, techniques and tools. Topics include formal review techniques, black box testing, white box testing, integration testing, acceptance testing, regression testing, performance testing, stress testing, and testing of object-oriented software.

        Spring - Regular Academic Session - 2017 Download Syllabus Contact info & Office Hours
      • CSE 5321-002 SOFTWARE ENGINEERING: ANALYSIS, DESIGN, AND TESTING

        Software testing is one of the most widely used approaches to detecting software bugs, and often consumes more than 50% of the cost of software development. Furthermore, software testing is a mental discipline that helps developers to write quality code in the first place. Software testing knowledge and skills are at the core of the foundational knowledge and skills a software developer must master.

        Study of software quality assurance, software testing process, methods, techniques and tools. Topics include formal review techniques, black box testing, white box testing, integration testing, acceptance testing, regression testing, performance testing, stress testing, and testing of object-oriented software.

        Spring - Regular Academic Session - 2017 Download Syllabus Contact info & Office Hours
      • CSE 5324-002 SOFTWARE ENGINEERING: ANALYSIS, DESIGN, AND TESTING

        Motivations, principles, and goals of software engineering; technical aspects of software projects, including: review of structured analysis and structured design, emphasis on object-oriented methods of requirements analysis and specification, design, and implementation; software testing concepts; team project.

        Spring - Regular Academic Session - 2017 Download Syllabus Contact info & Office Hours
      • CSE 5324-003 SOFTWARE ENGINEERING: ANALYSIS, DESIGN, AND TESTING

        Motivations, principles, and goals of software engineering; technical aspects of software projects, including: review of structured analysis and structured design, emphasis on object-oriented methods of requirements analysis and specification, design, and implementation; software testing concepts; team project.

        Spring - Regular Academic Session - 2017 Download Syllabus Contact info & Office Hours
      • CSE 4321-001 SOFTWARE TESTING & MAINTENANCE

        Software testing is one of the most widely used approaches to detecting software bugs, and often consumes more than 50% of the cost of software development. Furthermore, software testing is a mental discipline that helps developers to write quality code in the first place. Software testing knowledge and skills are at the core of the foundational knowledge and skills a software developer must master.

        Fall - Regular Academic Session - 2016 Download Syllabus Contact info & Office Hours
      • CSE 5321-001 SOFTWARE TESTING

        Software testing is one of the most widely used approaches to detecting software bugs, and often consumes more than 50% of the cost of software development. Furthermore, software testing is a mental discipline that helps developers to write quality code in the first place. Software testing knowledge and skills are at the core of the foundational knowledge and skills a software developer must master.

        Fall - Regular Academic Session - 2016 Download Syllabus Contact info & Office Hours
      • CSE 5324-002 SOFTWARE ENGINEERING: ANALYSIS, DESIGN, AND TESTING

        Motivations, principles, and goals of software engineering; technical aspects of software projects, including: review of structured analysis and structured design, emphasis on object-oriented methods of requirements analysis and specification, design, and implementation; software testing concepts; team project

        Fall - Regular Academic Session - 2016 Download Syllabus Contact info & Office Hours
      • CSE 5324-005 CSE 5324: Software Engineering: Analysis, Design, and Testing

        Motivations, principles, and goals of software engineering; technical aspects of software projects, including: review of structured analysis and structured design, emphasis on object-oriented methods of requirements analysis and specification, design, and implementation; software testing concepts; team project

        Fall - Regular Academic Session - 2016 Download Syllabus Contact info & Office Hours
      • CSE 5321-001 SOFTWARE TESTING

        Software testing is one of the most widely used approaches to detecting software bugs, and often consumes more than 50% of the cost of software development. Furthermore, software testing is a mental discipline that helps developers to write quality code in the first place. Software testing knowledge and skills are at the core of the foundational knowledge and skills a software developer must master.

        Study of software quality assurance, software testing process, methods, techniques and tools. Topics include formal review techniques, black box testing, white box testing, integration testing, acceptance testing, regression testing, performance testing, stress testing, and testing of object-oriented software. 

      • CSE 4321-001 SOFTWARE TESTING & MAINTENANCE

        Software testing is one of the most widely used approaches to detecting software bugs, and often consumes more than 50% of the cost of software development. Furthermore, software testing is a mental discipline that helps developers to write quality code in the first place. Software testing knowledge and skills are at the core of the foundational knowledge and skills a software developer must master.

        Study of software quality assurance, software testing process, methods, techniques and tools. Topics include formal review techniques, black box testing, white box testing, integration testing, acceptance testing, regression testing, performance testing, stress testing, and testing of object-oriented software. 

      • CSE 5321-002 SOFTWARE ENGINEERING: ANALYSIS, DESIGN, AND TESTING

        Software testing is one of the most widely used approaches to detecting software bugs, and often consumes more than 50% of the cost of software development. Furthermore, software testing is a mental discipline that helps developers to write quality code in the first place. Software testing knowledge and skills are at the core of the foundational knowledge and skills a software developer must master.

        Study of software quality assurance, software testing process, methods, techniques and tools. Topics include formal review techniques, black box testing, white box testing, integration testing, acceptance testing, regression testing, performance testing, stress testing, and testing of object-oriented software. 

      • CSE 5324-001 SOFTWARE ENGINEERING: ANALYSIS, DESIGN, AND TESTING

        Motivations, principles, and goals of software engineering; technical aspects of software projects, including: review of structured analysis and structured design, emphasis on object-oriented methods of requirements analysis and specification, design, and implementation; software testing concepts; team project

      • CSE 5321-002 SOFTWARE ENGINEERING: ANALYSIS, DESIGN, AND TESTING

        Software testing is one of the most widely used approaches to detecting software bugs, and often consumes more than 50% of the cost of software development. Furthermore, software testing is a mental discipline that helps developers to write quality code in the first place. Software testing knowledge and skills are at the core of the foundational knowledge and skills a software developer must master.

        Study of software quality assurance, software testing process, methods, techniques and tools. Topics include formal review techniques, black box testing, white box testing, integration testing, acceptance testing, regression testing, performance testing, stress testing, and testing of object-oriented software.

        Spring - Regular Academic Session - 2016 Download Syllabus Contact info & Office Hours
      • CSE 5321-001 SOFTWARE TESTING

        Software testing is one of the most widely used approaches to detecting software bugs, and often consumes more than 50% of the cost of software development. Furthermore, software testing is a mental discipline that helps developers to write quality code in the first place. Software testing knowledge and skills are at the core of the foundational knowledge and skills a software developer must master.

        Study of software quality assurance, software testing process, methods, techniques and tools. Topics include formal review techniques, black box testing, white box testing, integration testing, acceptance testing, regression testing, performance testing, stress testing, and testing of object-oriented software.

        Spring - Regular Academic Session - 2016 Download Syllabus Contact info & Office Hours
      • CSE 5324-002 SOFTWARE ENGINEERING: ANALYSIS, DESIGN, AND TESTING

        Motivations, principles, and goals of software engineering; technical aspects of software projects, including: review of structured analysis and structured design, emphasis on object-oriented methods of requirements analysis and specification, design, and implementation; software testing concepts; team project

        Spring - Regular Academic Session - 2016 Download Syllabus Contact info & Office Hours
      • CSE 5324-003 SOFTWARE ENGINEERING: ANALYSIS, DESIGN, AND TESTING

        Motivations, principles, and goals of software engineering; technical aspects of software projects, including: review of structured analysis and structured design, emphasis on object-oriented methods of requirements analysis and specification, design, and implementation; software testing concepts; team project

        Spring - Regular Academic Session - 2016 Download Syllabus Contact info & Office Hours
      • CSE 5324-005 CSE 5324: Software Engineering: Analysis, Design, and Testing

        Motivations, principles, and goals of software engineering; technical aspects of software projects, including: review of structured analysis and structured design, emphasis on object-oriented methods of requirements analysis and specification, design, and implementation; software testing concepts; team project

        Fall - Regular Academic Session - 2015 Download Syllabus Contact info & Office Hours
      • CSE 4321-001 SOFTWARE TESTING AND MAINTENANCE

        Software testing is one of the most widely used approaches to detecting software bugs, and often consumes more than 50% of the cost of software development. Furthermore, software testing is a mental discipline that helps developers to write quality code in the first place. Software testing knowledge and skills are at the core of the foundational knowledge and skills a software developer must master.

        Study of software quality assurance, software testing process, methods, techniques and tools. Topics include formal review techniques, black box testing, white box testing, integration testing, acceptance testing, regression testing, performance testing, stress testing, and testing of object-oriented software.

        Fall - Regular Academic Session - 2015 Download Syllabus Contact info & Office Hours
      • CSE 5321-002 SOFTWARE ENGINEERING: ANALYSIS, DESIGN, AND TESTING

        Software testing is one of the most widely used approaches to detecting software bugs, and often consumes more than 50% of the cost of software development. Furthermore, software testing is a mental discipline that helps developers to write quality code in the first place. Software testing knowledge and skills are at the core of the foundational knowledge and skills a software developer must master.

        Study of software quality assurance, software testing process, methods, techniques and tools. Topics include formal review techniques, black box testing, white box testing, integration testing, acceptance testing, regression testing, performance testing, stress testing, and testing of object-oriented software.

        Fall - Regular Academic Session - 2015 Download Syllabus Contact info & Office Hours
      • CSE 5321-001 SOFTWARE TESTING

        Software testing is one of the most widely used approaches to detecting software bugs, and often consumes more than 50% of the cost of software development. Furthermore, software testing is a mental discipline that helps developers to write quality code in the first place. Software testing knowledge and skills are at the core of the foundational knowledge and skills a software developer must master.

        Study of software quality assurance, software testing process, methods, techniques and tools. Topics include formal review techniques, black box testing, white box testing, integration testing, acceptance testing, regression testing, performance testing, stress testing, and testing of object-oriented software.

        Fall - Regular Academic Session - 2015 Download Syllabus Contact info & Office Hours
      • CSE 5321-001 SOFTWARE TESTING

        Software testing is one of the most widely used approaches to detecting software bugs, and often consumes more than 50% of the cost of software development. Furthermore, software testing is a mental discipline that helps developers to write quality code in the first place. Software testing knowledge and skills are at the core of the foundational knowledge and skills a software developer must master.

        Study of software quality assurance, software testing process, methods, techniques and tools. Topics include formal review techniques, black box testing, white box testing, integration testing, acceptance testing, regression testing, performance testing, stress testing, and testing of object-oriented software.

      • CSE 5324-001 SOFTWARE ENGINEERING: ANALYSIS, DESIGN, AND TESTING

        Description of Course Content: Motivations, principles, and goals of software engineering; technical aspects of software projects, including: review of structured analysis and structured design, emphasis on object-oriented methods of requirements analysis and specification, design, and implementation; software testing concepts; team project

        Student Learning Outcomes: Students will be able to create, explain, and critique software products. In order to reach these outcomes, students will specify, design, implement, and test an object-oriented application present deliverables review deliverables of other teams

        For each of the above tasks, students will use a language, tool, or technique that is being widely used in industry, i.e. the:

        Unified Modeling Language, including use-case, sequence, and class diagrams

        Programming language Java

        Integrated development environment Eclipse

        Test automation framework JUnit.

      • CSE 4321-001 SOFTWARE TESTING & MAINTENANCE

        Software testing is one of the most widely used approaches to detecting software bugs, and often consumes more than 50% of the cost of software development. Furthermore, software testing is a mental discipline that helps developers to write quality code in the first place. Software testing knowledge and skills are at the core of the foundational knowledge and skills a software developer must master.

        Study of software quality assurance, software testing process, methods, techniques and tools. Topics include formal review techniques, black box testing, white box testing, integration testing, acceptance testing, regression testing, performance testing, stress testing, and testing of object-oriented software.

      • CSE 5321-002 SOFTWARE ENGINEERING: ANALYSIS, DESIGN, AND TESTING

        Motivations, principles, and goals of software engineering; technical aspects of software projects, including: review of structured analysis and structured design, emphasis on object-oriented methods of requirements analysis and specification, design, and implementation; software testing concepts; team project

        Spring - Regular Academic Session - 2015 Download Syllabus Contact info & Office Hours
      • CSE 5324-003 SOFTWARE ENGINEERING: ANALYSIS, DESIGN, AND TESTING

        Motivations, principles, and goals of software engineering; technical aspects of software projects, including: review of structured analysis and structured design, emphasis on object-oriented methods of requirements analysis and specification, design, and implementation; software testing concepts; team project

        Spring - Regular Academic Session - 2015 Download Syllabus Contact info & Office Hours
      • CSE 5321-001 SOFTWARE TESTING

        Software testing is one of the most widely used approaches to detecting software bugs, and often consumes more than 50% of the cost of software development. Furthermore, software testing is a mental discipline that helps developers to write quality code in the first place. Software testing knowledge and skills are at the core of the foundational knowledge and skills a software developer must master.

        Study of software quality assurance, software testing process, methods, techniques and tools. Topics include formal review techniques, black box testing, white box testing, integration testing, acceptance testing, regression testing, performance testing, stress testing, and testing of object-oriented software.

        Spring - Regular Academic Session - 2015 Download Syllabus Contact info & Office Hours
      • CSE 5321-002 SOFTWARE TESTING

        Software testing is one of the most widely used approaches to detecting software bugs, and often consumes more than 50% of the cost of software development. Furthermore, software testing is a mental discipline that helps developers to write quality code in the first place. Software testing knowledge and skills are at the core of the foundational knowledge and skills a software developer must master.

        Study of software quality assurance, software testing process, methods, techniques and tools. Topics include formal review techniques, black box testing, white box testing, integration testing, acceptance testing, regression testing, performance testing, stress testing, and testing of object-oriented software.

        Spring - Regular Academic Session - 2015 Download Syllabus Contact info & Office Hours
      • CSE 5324-003 SOFTWARE ENGINEERING: ANALYSIS, DESIGN, AND TESTING

        Motivations, principles, and goals of software engineering; technical aspects of software projects, including: review of structured analysis and structured design, emphasis on object-oriented methods of requirements analysis and specification, design, and implementation; software testing concepts; team project

        Spring - Regular Academic Session - 2015 Download Syllabus Contact info & Office Hours