M.S. Software Engineering

Total Page:16

File Type:pdf, Size:1020Kb

Load more

MASTER OF SCIENCE Software Engineering Software engineers are needed in virtually every industry at every level. It’s much more than designing and developing applications. As our machines, homes and cities become more equipped with sensors, transmitters and communication systems, software engineers help us connect the bots in fun and creative ways. Design and implement the future as a software engineer. 22% $110,140 The M.S. in Software Engineering at Regis educates students on the various PROJECT GROWTH OF MEDIAN PAY FOR disciplines associated with modern SOFTWARE DEVELOPERS SOFTWARE DEVELOPERS software engineering. You’ll gain an BY 2029 IN 2020 advanced understanding of programming Source: bls.gov Source: bls.gov languages such as Java™, and Swift, JavaScript, HTML, and CSS, as well as knowledge of the specification, architecture, design, implementation, testing and security of both desktop and mobile applications. l IN WHAT FORMAT ARE CLASSES HELD? Classes are taught in an 8-week format, either online or on campus during the evenings. You l HOW LONG DOES THE PROGRAM TAKE TO COMPLETE? might be This program can be completed in two years. wondering: l WHEN CAN I START? Program starts are offered in January, March, May, July, August and October. The pre-requisite class is offered in March, June, and October. REGIS.EDU/ANDERSON Degree Plan Not quite ready for the CORE MSSE 600 Object-Oriented Software Engineering* full degree? REQUIREMENTS MSSE 610 Software Requirements and Processes* 18 credit hours MSSE 635 Software Architecture & Design MSSE 640 Software Quality and Test* Start with a certificate program MSSE 642 Software Assurance and see what you think. MSSE 695 Software Engineering Research Methods Related Graduate Certificates: - Enterprise Java™ Software TRACK Enterprise Software Engineering in Java Track: Development REQUIREMENTS MSSE 670 Object Oriented Software Construction* 9 credit hours MSSE 672 Component-Based Software Development* - Full Stack+ MSSE 674 Service-Based Software Development* - Mobile Software Development - Software Engineering Full Stack Track: MSSE 661 Web Software Development* Classes taken as part of the MSSE 663 Web Frameworks* certificate programs listed above MSSE 667 Web Mobile Frameworks* can be applied toward the master’s degree in Software Engineering, Mobile Development Track: so you can decide to keep going MSSE 670 Object Oriented Software Construction without skipping a beat. MSSE 655 Mobile Software Engineering in Android *Indicates classes that can be taken Web Mobile Frameworks MSSE 667 for certificate completion. Admissions requirements for certificate programs may GENERAL Select two 600-level courses from Anderson College vary. Consult the academic catalog for a ELECTIVES in the following areas: complete list of program and application 6 credit hours Data Science requirements. Health Informatics Information & Cyber Security Software Engineering What You’ll Need DEGREE Select one of the following: TO APPLY: COMPLETION MSCC 693 Graduate Capstone l Completed online application REQUIREMENTS MSCC 698 Graduate Thesis l Official degree-bearing transcript 3 credit hours MSSE 696 Software Engineering Practicum II l Resume and Essay l Relevant work experience or relevant TOTAL: 36 CREDIT HOURS bachelor’s degree This program is eligible for our FastForward dual degree. To learn more visit regis.edu/fastforward. PREREQUISITES: l MSC 501 – Object Oriented Programming in Java Prerequisites may be waived with a related bachelor’s degree, relevant work Ready to get experience, or knowledge of programming started? languages like Java, C# and Python. TUITION AND FEES Contact Tuition for the 2020-2021 academic year: [email protected] l $845 per credit hour 800.944.7667 For information on program specific fees visit regis.edu/cost. Tuition and fees are Ready to apply? subject to change. regis.edu/apply To learn about financial aid options available, contact the financial aid office at 800.568.8932 or visit regis.edu/financialaid. If you are an active duty military member or veteran, visit regis.edu/preferred-military to find out more. Regis University is regionally accredited by the Higher Learning Commission (HLC). REV 07.21.21.
Recommended publications
  • Introduction Development Lifecycle Model

    Introduction Development Lifecycle Model

    DeveIopment of a Comprehensive Software Engineering Environment Thomas C. Hartrum Gary B. Lamont Department of Electrical and Computer Engineering Department of Electrical and Computer Engineering School of Engineering School of Engineering Air Force Institute of Technology Air Force Institute of Technology Wright-Patterson AFB, Dayton, Ohio, 45433 Wright-Patterson AFB, Dayton, Ohio, 45433 Abstract The concept of an integrated software development environment The generation of a set of tools for the software lifecycle is a recur- can be realized in two distinct levels. The first level deals with the ring theme in the software engineering literature. The development of access and usage mechanisms for the interactive tools, while the sec- such tools and their integration into a software development environ- ond level concerns the preservation of software development data and ment is a difficult task at best because of the magnitude (number of the relationships between the products of the different software life variables) and the complexity (combinatorics) of the software lifecycle cycle stages. The first level requires that all of the component tools process. An initial development of a global approach was initiated at be resident under one operating system and be accessible through a AFIT in 1982 as the Software Development Workbench (SDW). Also common user interface. The second level dictates the need to store de- other restricted environments have evolved emphasizing Ada and di5 velopment data (requirements specifications, designs, code, test plans tributed processing. Continuing efforts focus on tool development, and procedures, manuals, etc.) in an integrated data base that pre- tool integration, human interfacing (graphics; SADT, DFD, structure serves the relationships between the products of the different life cy- charts, ...), data dictionaries, and testing algorithms.
  • Software Development Career Pathway

    Software Development Career Pathway

    Career Exploration Guide Software Development Career Pathway Information Technology Career Cluster For more information about NYC Career and Technical Education, visit: www.cte.nyc Summer 2018 Getting Started What is software? What Types of Software Can You Develop? Computers and other smart devices are made up of Software includes operating systems—like Windows, Web applications are websites that allow users to contact management system, and PeopleSoft, a hardware and software. Hardware includes all of the Apple, and Google Android—and the applications check email, share documents, and shop online, human resources information system. physical parts of a device, like the power supply, that run on them— like word processors and games. among other things. Users access them with a Mobile applications are programs that can be data storage, and microprocessors. Software contains Software applications can be run directly from a connection to the Internet through a web browser accessed directly through mobile devices like smart instructions that are stored and run by the hardware. device or through a connection to the Internet. like Firefox, Chrome, or Safari. Web browsers are phones and tablets. Many mobile applications have Other names for software are programs or applications. the platforms people use to find, retrieve, and web-based counterparts. display information online. Web browsers are applications too. Desktop applications are programs that are stored on and accessed from a computer or laptop, like Enterprise software are off-the-shelf applications What is Software Development? word processors and spreadsheets. that are customized to the needs of businesses. Popular examples include Salesforce, a customer Software development is the design and creation of Quality Testers test the application to make sure software and is usually done by a team of people.
  • Job Description - Software Engineer I

    Job Description - Software Engineer I

    Job Description - Software Engineer I Department: Engineering - 2013-03 Exemption Status: Non-Exempt Summary: This position is responsible for software development in multi-application, multi-server, and hosted environments. The candidate will primarily provide system/configuration support with a focus in helping the needs of both internal and external customers. He or she will participate in all facets of software and system development life-cycle. The most qualified candidate for this role will have experience working with business intelligence in the public safety and/or public health software fields and have formal software education and/or a ton of practical experience. We develop primarily in C#, .NET, SQL, SSRS and mobile. Anyone that might fit well at FirstWatch must be hard-working, people-oriented, friendly, patient, a fast learner, think quickly on their feet, take initiative and responsibility, and LOVE providing our customers great and honest customer service. This person will need to maintain a high quality productivity level within a fast paced environment. This position shares responsibility (rotates) with other engineering staff for 24×7 on call duties and so must be able to thrive in this environment. Responsibilities: - Maintain and modify the software and system configurations of production, staged, and test applications. - Interface with different stakeholders to determine and propose appropriate and effective technology solutions to meet business and technical objectives. - Develop interfaces, applications and other technical solutions to support the business needs through the planning, analysis, design, development, implementation and maintenance phases of the software and systems development lifecycle. - Create system requirements, technical specifications, and test plans.
  • Structured Programming - Retrospect and Prospect Harlan D

    Structured Programming - Retrospect and Prospect Harlan D

    University of Tennessee, Knoxville Trace: Tennessee Research and Creative Exchange The aH rlan D. Mills Collection Science Alliance 11-1986 Structured Programming - Retrospect and Prospect Harlan D. Mills Follow this and additional works at: http://trace.tennessee.edu/utk_harlan Part of the Software Engineering Commons Recommended Citation Mills, Harlan D., "Structured Programming - Retrospect and Prospect" (1986). The Harlan D. Mills Collection. http://trace.tennessee.edu/utk_harlan/20 This Article is brought to you for free and open access by the Science Alliance at Trace: Tennessee Research and Creative Exchange. It has been accepted for inclusion in The aH rlan D. Mills Collection by an authorized administrator of Trace: Tennessee Research and Creative Exchange. For more information, please contact [email protected]. mJNDAMNTL9JNNEPTS IN SOFTWARE ENGINEERING Structured Programming. Retrospect and Prospect Harlan D. Mills, IBM Corp. Stnuctured program- 2 ' dsger W. Dijkstra's 1969 "Struc- mon wisdom that no sizable program Ste red .tured Programming" articlel could be error-free. After, many sizable ming haxs changed ho w precipitated a decade of intense programs have run a year or more with no programs are written focus on programming techniques that has errors detected. since its introduction fundamentally alteredhumanexpectations and achievements in software devel- Impact of structured programming. two decades ago. opment. These expectations and achievements are However, it still has a Before this decade of intense focus, pro- not universal because of the inertia of lot of potentialfor gramming was regarded as a private, industrial practices. But they are well- lot of fo puzzle-solving activity ofwriting computer enough established to herald fundamental more change.
  • It Software Engineer 1

    It Software Engineer 1

    Pierce County Classification Description IT SOFTWARE ENGINEER 1 Department: Finance FLSA: Non-Exempt Job Class #: 632700 Represented: No Pay Range: Professional 15 Classification descriptions are intended to present a descriptive list of the range of duties performed by employees in this class and are not intended to reflect all duties performed within the job. GENERAL FUNCTION: This is professional, technical, analytical, and customer-oriented work in the Software Development Division of the Information Technology Division of Finance. An employee in this classification provides technical expertise to Pierce County departments and agencies in multiple areas. The Software Engineer 1 may include any or all of the essential functions listed below and functions as an IT professional in the capacity of a software designer, coder, and project manager. SERIES CONCEPT: This is the first level in the series. This classification is distinguished from other IT Software Engineers by performing a narrower range of technically complex duties and the level of direction required to perform job functions. ESSENTIAL FUNCTIONS: Perform professional functions in software programming and analysis. Assist in designing, coding, testing, deploying, maintaining, enhancing, and supporting County software systems. Assist in working with business customers in translating requirements into plans and specifications. Assist in developing new software and customize, developing interfaces to, or integrating with third- party business systems. Work in a team-based environment, communicating effectively with all levels of staff and management. Collaborate on the identification of business and system requirements. Address customer’s information needs by developing technology solutions and supporting information and technology systems on multiple computing platforms.
  • The Roots of Software Engineering*

    The Roots of Software Engineering*

    THE ROOTS OF SOFTWARE ENGINEERING* Michael S. Mahoney Princeton University (CWI Quarterly 3,4(1990), 325-334) At the International Conference on the History of Computing held in Los Alamos in 1976, R.W. Hamming placed his proposed agenda in the title of his paper: "We Would Know What They Thought When They Did It."1 He pleaded for a history of computing that pursued the contextual development of ideas, rather than merely listing names, dates, and places of "firsts". Moreover, he exhorted historians to go beyond the documents to "informed speculation" about the results of undocumented practice. What people actually did and what they thought they were doing may well not be accurately reflected in what they wrote and what they said they were thinking. His own experience had taught him that. Historians of science recognize in Hamming's point what they learned from Thomas Kuhn's Structure of Scientific Revolutions some time ago, namely that the practice of science and the literature of science do not necessarily coincide. Paradigms (or, if you prefer with Kuhn, disciplinary matrices) direct not so much what scientists say as what they do. Hence, to determine the paradigms of past science historians must watch scientists at work practicing their science. We have to reconstruct what they thought from the evidence of what they did, and that work of reconstruction in the history of science has often involved a certain amount of speculation informed by historians' own experience of science. That is all the more the case in the history of technology, where up to the present century the inventor and engineer have \*-as Derek Price once put it\*- "thought with their fingertips", leaving the record of their thinking in the artefacts they have designed rather than in texts they have written.
  • Research on Programming Technology of Computer Software Engineering Database Based on Multi-Platform

    Research on Programming Technology of Computer Software Engineering Database Based on Multi-Platform

    2019 4th International Industrial Informatics and Computer Engineering Conference (IIICEC 2019) Research on Programming Technology of Computer Software Engineering Database Based on Multi-Platform Wei Hongchang, Zhang Li Jiangxi Vocational College of Mechanical& Electronical Technology Jiangxi Nanchang 330013, China Keywords: Computers, Database, Programming, Software Engineering Abstract: With the rapid development of social science and technology, various trades and industries have also developed. For computer applications, the most important thing is the software system and hardware system in its components. As far as software engineering is concerned, in the construction of engineering chemical methods, the construction methods of engineering chemical should be combined to enhance the value of software application. The development of computer technology has formed a certain scale up to now, and it has dabbled in various fields. However, due to the different requirements of different industries on the performance of computer technology. Through the analysis of software database programming technology, in the creation of software computer structure, as a very important part, it will have a certain impact on the strength of computer computing ability. Aiming at the research of database programming technology in computer software engineering, this paper analyzes the advantages of database programming technology, and expounds the application of database programming technology in computer software engineering. 1. Introduction At the present stage, computing technology has been widely used in today's society and has penetrated into different industries in different fields. The arrival and popularization of computers have been highly valued and widely used. Through the analysis of software database programming technology, as a very important component in the creation of software computer composition structure, it will have a certain impact on the strength of computer computing ability [1].
  • Tackling Traceability Challenges Through Modeling Principles in Methodologies Underpinned by Metamodels

    Tackling Traceability Challenges Through Modeling Principles in Methodologies Underpinned by Metamodels

    Tackling Traceability Challenges through Modeling Principles in Methodologies Underpinned by Metamodels Angelina Espinoza and Juan Garbajosa Universidad Politecnica de Madrid - Technical University of Madrid, System and Software Technology Group (SYST), E.U. Informatica. Ctra. de Valencia Km. 7, E-28031, Spain, http://syst.eui.upm.es; aespinoza -at- syst.eui.upm.es, jgs -at- eui.upm.es Abstract. Traceability is recognized to be essential for supporting soft- ware development. However, a number of traceability issues are still open, such as link semantics formalization or traceability process models. Traceability methodologies underpinned by metamodels are a promis- ing approach. However current metamodels still have serious limitations. Concerning methodologies in general, three hierarchical layered levels have been identified: metamodel, methodology and project. Metamod- els do not often properly support this architecture, and that results in semantic problems at the time of specifying the methodology. Another reason is that they provide extensive predefined sets of types for describ- ing project attributes, while these project attributes are domain specific and, sometimes, even project specific. This paper introduces two com- plementary modeling principles to overcome these limitations, i.e. the metamodeling three layer hierarchy, and power-type patterns modeling principles. Mechanisms to extend and refine traceability models are in- herent to them. The paper shows that, when methodologies are developed from metamodels based on these two principles, the result is a method- ology well fitted to project features. Links semantics is also improved. Keywords: Traceability methodology, traceability metamodel, clabject, power-type pattern, metamodeling hierarchy, mechanisms for extension of traceability metamodels, metamodel extensibility. 1 Introduction Traceability is considered fundamental to perform processes and tasks such as V&V, change management, and impact analysis.
  • IT- Software Engineer Career Ladder Matrix

    IT- Software Engineer Career Ladder Matrix

    IT- Software Engineer Career Ladder Matrix Software Engineer Family Job Title Software Engineer, Assoc Software Engineer Sr, Software Engineer Principal Software Engineer Mgr, Software Engineering Job Code MC0080 MC0079 MC0078 MC0074 MC0068 Pay Grade 74 75 76 76 76 Position Summary This role is responsible for all the This role is responsible for all This role is responsible for all This role is responsible for all This role is responsible for functions in all phases of applications phases of the applications phases of the applications phases of the applications providing technical leadership development. This role assists with development. This role is development. development. and mentoring a team of 10+ analysis of user needs, software and responsible for the analysis of engineers. database design, programming and life- user needs, software and cycle development of all business and database design, clinical applications. programming and life cycle development of all business and clinical applications. Essential Functions /Scope *Participate in code reviews, support *Work independently within *Provide mentoring and *Drive technology plan for the IT *Manage and lead assigned business processes, and assist in guidelines, provide technical knowledge transfer to Software organization, and ensure that plans staff. Hire, train, rate problem analysis and consultation consulting on complex projects Engineers including input to code for their assigned applications performance, and take considering equipment capacity, reviews, training and developing
  • Chapter 3 Software Design

    Chapter 3 Software Design

    CHAPTER 3 SOFTWARE DESIGN Guy Tremblay Département d’informatique Université du Québec à Montréal C.P. 8888, Succ. Centre-Ville Montréal, Québec, Canada, H3C 3P8 [email protected] Table of Contents references” with a reasonably limited number of entries. Satisfying this requirement meant, sadly, that not all 1. Introduction..................................................................1 interesting references could be included in the recom- 2. Definition of Software Design .....................................1 mended references list, thus the list of further readings. 3. Breakdown of Topics for Software Design..................2 2. DEFINITION OF SOFTWARE DESIGN 4. Breakdown Rationale...................................................7 According to the IEEE definition [IEE90], design is both 5. Matrix of Topics vs. Reference Material .....................8 “the process of defining the architecture, components, 6. Recommended References for Software Design........10 interfaces, and other characteristics of a system or component” and “the result of [that] process”. Viewed as a Appendix A – List of Further Readings.............................13 process, software design is the activity, within the software development life cycle, where software requirements are Appendix B – References Used to Write and Justify the analyzed in order to produce a description of the internal Knowledge Area Description ....................................16 structure and organization of the system that will serve as the basis for its construction. More precisely, a software design (the result) must describe the architecture of the 1. INTRODUCTION system, that is, how the system is decomposed and This chapter presents a description of the Software Design organized into components and must describe the interfaces knowledge area for the Guide to the SWEBOK (Stone Man between these components. It must also describe these version).
  • The Conferences Start Time Table

    The Conferences Start Time Table

    ETAPS DAILY 4 April 2016 ETAPS DAILY Monday | The first main conferences day | Reception | Edsger W. Dijkstra Main Conferences The conferences start Time Table 830 - 900 : opening The first day of the main ETAPS conferences will be opened 900 -1000 : invited talk by Joost-Pieter Katoen followed by the first plenary speaker, Andrew D. Gordon. 1000 -1030 : coffee break 1030 -1230: parallel sessions Title: Structure and Interpretation of Probabilistic Programs Abstract: Probabilistic programming is a technique for 1230-1400: lunch solving statistical inference and machine learning problems by writing short pieces of code to model data. We survey the area 1400-1600 : parallel sessions and describe recent advances in semantic interpretation. Probabilistic programs exhibit structures that include 1600-1630: coffee break hierarchies of random variables corresponding to the data 1630-1800: parallel sessions schema, recurring modelling patterns, and also the classical Bayesian distinction between prior and likelihood. We exploit 1900-2230: reception this structure in language designs that yield data insights with only a modicum of user input. 1 ETAPS DAILY 4 April 2016 Reception at Kazerne Kazerne is a cultural organization oriented towards creative innovation in all its activities and at an international level. But Kazerne has ambitions to be more than just an international design hotspot where everything is shiny and new. It has its roots in the belief that creativity has an essential role to play in shaping the future of society. Edsger Wybe Dijkstra Edsger Wybe Dijkstra (11 May 1930 - 6 August 2002) was one of the most influential persons in the history of the Dutch computer science.
  • A Requirements Modeling Language for the Component Behavior of Cyber Physical Robotics Systems

    A Requirements Modeling Language for the Component Behavior of Cyber Physical Robotics Systems

    A Requirements Modeling Language for the Component Behavior of Cyber Physical Robotics Systems Jan Oliver Ringert, Bernhard Rumpe, and Andreas Wortmann RWTH Aachen University, Software Engineering, Aachen, Germany {ringert,rumpe,wortmann}@se-rwth.de Abstract. Software development for robotics applications is a sophisticated en- deavor as robots are inherently complex. Explicit modeling of the architecture and behavior of robotics application yields many advantages to cope with this complexity by identifying and separating logically and physically independent components and by hierarchically structuring the system under development. On top of component and connector models we propose modeling the requirements on the behavior of robotics software components using I/O! automata [29]. This approach facilitates early simulation of requirements model, allows to subject these to formal analysis and to generate the software from them. In this paper, we introduce an extension of the architecture description language MontiArc to model the requirements on components with I/O! automata, which are defined in the spirit of Martin Glinz’ Statecharts for requirements modeling [10]. We fur- thermore present a case study based on a robotics application generated for the Lego NXT robotic platform. “In der Robotik dachte man vor 30 Jahren, dass man heute alles perfekt beherrschen würde”, Martin Glinz [38] 1 Introduction Robotics is a field of Cyber-Physical Systems (CPS) which yields complex challenges due to the variety of robots, their forms of use and the overwhelming complexity of the possible environments they have to operate in. Software development for robotics ap- plications is still at least as complex as it was 30 years ago: even a simple robot requires the integration of multiple distributed software components.