SDI-Software Development and Integration

SDI 3001. Polytechnic Colloquia I.1 Credit Hour.

Prerequisite: Junior standing; May be repeated, maximum credit 2 hours. In this course, students prepare for, attend, and reflect on a range of discussion topics in science and technology. Each week speakers from inside and outside of the University of Oklahoma will be invited to lead relevant discussions on topics in science and technology including ethics, responsibilities, challenges, and societal impacts. The colloquium topics vary from semester to semester. (F, Sp)

SDI 3103. Programming Languages.3 Credit Hours.

Prerequisite: Junior standing. A study of programming languages from both the theoretical and practical perspectives. A survey of major and developing paradigms and languages is undertaken, including use of specific languages to broaden the student's experience. (F)

SDI 3123. Algorithms I.3 Credit Hours.

Prerequisite: Junior standing. This course focuses on foundational aspects of algorithms and data structures, emphasizing problem-solving strategies, primitive types, arrays, strings, linked lists, and basic searching and sorting algorithms. Prepares students for technical interviews with an introduction to common interview strategies and simple design problems. (Sp)

SDI 3143. Mobile Application Development.3 Credit Hours.

Prerequisite: Junior standing. This course provides an introduction to mobile application development. The primary aim of this course is to provide students with a thorough introduction to designing and building native and/or crossplatform apps for mobile devices. The platform, frameworks/libraries, and development tools used in this course vary and are dependent on the current demand in industry. (Sp)

SDI 3203. Computer Networks.3 Credit Hours.

Prerequisite: Junior standing. This course is designed to provide a thorough grounding in the principles and practices of network infrastructure and communication. This course aligns with the Microsoft MTA Networking Fundamentals Exam 98-366, offering coverage of network topologies, hardware, and protocols. The curriculum not only prepares students for the certification exam but also lays a strong foundation for advanced studies in computer networking. (F)

SDI 3213. Cloud Computing.3 Credit Hours.

Prerequisite: Junior standing. In this comprehensive course, we delve into the landscape of cloud computing. We cover elements of cloud technology, including architecture, data management, and security. The curriculum is designed to equip students with both theoretical knowledge and practical skills, preparing them for the evolving cloud industry. Emphasis is placed on industry-recognized certifications, ensuring graduates are well-versed in contemporary cloud practices. (Sp)

SDI 3403. Web Systems Development.3 Credit Hours.

Prerequisite: C S 1213, C S 1321, C S 1323, or C S 1324 or equivalent. In this course, students will immerse themselves in a variety of contemporary web development technologies, focusing on developing web-based systems with object-oriented programming and database management languages. The curriculum emphasizes practical projects in web application development, encompassing web application architecture, design pattern methodologies, relational database structuring, and comprehensive database query techniques. (F)

SDI 3413. User Interface and Experience (UI/UX).3 Credit Hours.

Prerequisite: Junior standing. Introduction to fundamental design of the human interface to information systems. Major topics include universal design principles, user research methods, user interface design process, prototyping, and collaboration. This course is designed to prepare students to participate in the design and evaluate information system interfaces from a user-centered design perspective. (Sp)

SDI 3440. Mentored Research Experience.3 Credit Hours.

0 to 3 hours. Prerequisite: ENGL 1113 or equivalent, and permission of instructor; May be repeated, maximum credit 12 hours. For the inquisitive student to apply the scholarly processes of the discipline to a research or creative project under the mentorship of a faculty member. Student and instructor should complete an Undergraduate Research & Creative Projects (URCP) Mentoring Agreement and file it the with the URCP office. Not for honors credit. (F, Sp, Su)

SDI 3990. Independent Study.1-3 Credit Hours.

1 to 3 hours. Prerequisite: junior standing and permission of instructor; May be repeated once with change of content, maximum credit 6 hours. Independent study may be arranged to study a subject not available through regular course offerings. (F, Sp, Su)

SDI 4001. Polytechnic Colloquia II.1 Credit Hour.

Prerequisite: SDI 3001. In this course, students prepare for, attend, and reflect on a range of discussion topics in science and technology. Each week speakers from inside and outside of the University of Oklahoma will be invited to lead relevant discussions on topics in science and technology including ethics, responsibilities, challenges, and societal impacts. The colloquium topics vary from semester to semester. (F, Sp)

SDI 4103. Software Project Management.3 Credit Hours.

(Slashlisted with SDI 5103) Prerequisite: Junior standing. This course introduces project management techniques and their application to software development. The course will cover waterfall and agile project management approaches and will cover tools and methods of each approach. Students will work in small teams to build an application to develop a database application aimed at solving a typical task applying agile techniques using project management software. No student may earn credit for both 4103 and 5103. (F)

SDI 4113. Real Time Systems.3 Credit Hours.

(Slashlisted with SDI 5113) Prerequisite: Junior standing. In this course, students explore programming for real-time systems, focusing on development environments, networking principles, device integration, and IoT solutions. This course covers the basics of electronics, device control, sensor usage, and advanced programming techniques for real time systems, preparing students for comprehensive IoT project development. No student may earn credit for both 4113 and 5113. (F)

SDI 4123. Software Testing and Quality Assurance.3 Credit Hours.

(Slashlisted with SDI 5123) Prerequisite: Junior standing. This course delves into the domain of software testing and quality assurance. It covers an array of topics from test design and automation challenges to specialized testing areas, emphasizing the development of strategies for effective testing within various software delivery models. The curriculum is designed to cultivate a deep understanding of testing principles and their practical applications. No student may earn credit for both 4123 and 5123. (Sp)

SDI 4133. Algorithms II.3 Credit Hours.

(Slashlisted with SDI 5133) Prerequisite: SDI 3123. Advanced exploration of algorithmic strategies focusing on stacks, queues, binary trees, heaps, hash tables, binary search trees, dynamic programming, greedy algorithms, graphs, and parallel computing. Addresses complex design problems, encouraging the application of theoretical knowledge to real-world scenarios. No student may earn credit for both 4133 and 5133. (F)

SDI 4213. DevOps - CI/CD.3 Credit Hours.

(Slashlisted with SDI 5213) Prerequisite: Junior standing. This hands-on Development and Operations (DevOps) course delves into the concepts of containerization, orchestration, and Infrastructure as Code using popular tools and platforms. It focuses on practical skills such as continuous integration and deployment (CI/CD), emphasizing security best practices and automated testing. Students will learn to build and deploy to the cloud, demonstrating proficiency in end-to-end development pipelines. No student may earn credit for both 4213 and 5213. (F)

SDI 4233. Process Automation.3 Credit Hours.

(Slashlisted with SDI 5233) Prerequisite: Junior standing. This course introduces computer system automation principles that leverage computer scripting languages. It covers script writing for automation, troubleshooting, debugging, testing, and configuring development environments. Additionally, the course explores advanced automation concepts such as infrastructure management techniques, container technologies, and cloud deployment strategies. No student may earn credit for both 4233 and 5233. (F)

SDI 4313. Data Analytics.3 Credit Hours.

(Slashlisted with SDI 5313) Prerequisite: ECON 2843 or equivalent. This course will examine current trends in data science and how it can be used to improve decision-making across different fields, such as business, economics, social and political sciences. Real-world examples will be used to place data science techniques in context and to develop data-analytic thinking. Students will design and realize a data science project using statistical software. No student may earn credit for both 4313 and 5313. (Sp)

SDI 4403. Advanced Web Systems.3 Credit Hours.

(Slashlisted with SDI 5403) Prerequisite: SDI 3403. This course offers an in-depth exploration of web application development, with a particular focus on Object-Relational Mapping (ORM) and database interactions. It encompasses the foundational principles of environment setup and database management through ORM, emphasizing secure application architecture and API development. The curriculum is designed to impart comprehensive skills for effective deployment strategies in advanced, database-oriented web applications. No student may earn credit for both 4403 and 5403. (Sp)

SDI 4903. SDI Capstone Project.3 Credit Hours.

Prerequisite: SDI 4103 and senior standing. Major team-based software design project to be undertaken in a student's final year of study; project planning, software requirements analysis, design, and specification. Written reports and oral presentations in a technical setting will be required. (Sp)

SDI 4990. Independent Study.1-3 Credit Hours.

1 to 3 hours. Prerequisite: permission of instructor and senior standing; May be repeated once with change of content, Maximum credit 6 hours. Independent study may be arranged to study a subject not available through regular course offerings. (F, Sp, Su)

SDI 5103. Software Project Management.3 Credit Hours.

(Slashlisted with SDI 4103) Prerequisite: Graduate standing. This course introduces project management techniques and their application to software development. The course will cover waterfall and agile project management approaches and will cover tools and methods of each approach. Students will work in small teams to build an application to develop a database application aimed at solving a typical task applying agile techniques using project management software. No student may earn credit for both 4103 and 5103. (F)

SDI 5113. Real Time Systems.3 Credit Hours.

(Slashlisted with SDI 4113) Prerequisite: Graduate standing. In this course, students explore programming for real-time systems, focusing on development environments, networking principles, device integration, and IoT solutions. This course covers the basics of electronics, device control, sensor usage, and advanced programming techniques for real time systems, preparing students for comprehensive IoT project development. No student may earn credit for both 4113 and 5113. (F)

SDI 5123. Software Testing and Quality Assurance.3 Credit Hours.

(Slashlisted with SDI 4123) Prerequisite: Graduate standing. This course delves into the domain of software testing and quality assurance. It covers an array of topics from test design and automation challenges to specialized testing areas, emphasizing the development of strategies for effective testing within various software delivery models. The curriculum is designed to cultivate a deep understanding of testing principles and their practical applications. No student may earn credit for both 4123 and 5123. (Sp)

SDI 5133. Algorithms II.3 Credit Hours.

(Slashlisted with SDI 4133) Prerequisite: SDI 3123 and graduate standing. Advanced exploration of algorithmic strategies focusing on stacks, queues, binary trees, heaps, hash tables, binary search trees, dynamic programming, greedy algorithms, graphs, and parallel computing. Addresses complex design problems, encouraging the application of theoretical knowledge to real-world scenarios. No student may earn credit for both 4133 and 5133. (F)

SDI 5213. DevOps - CI/CD.3 Credit Hours.

(Slashlisted with SDI 4213) Prerequisite: Graduate standing. This hands-on Development and Operations (DevOps) course delves into the concepts of containerization, orchestration, and Infrastructure as Code using popular tools and platforms. It focuses on practical skills such as continuous integration and deployment (CI/CD), emphasizing security best practices and automated testing. Students will learn to build and deploy to the cloud, demonstrating proficiency in end-to-end development pipelines. No student may earn credit for both 4213 and 5213. (F)

SDI 5233. Process Automation.3 Credit Hours.

(Slashlisted with SDI 4233) Prerequisite: Graduate standing. This course introduces computer system automation principles that leverage computer scripting languages. It covers script writing for automation, troubleshooting, debugging, testing, and configuring development environments. Additionally, the course explores advanced automation concepts such as infrastructure management techniques, container technologies, and cloud deployment strategies. No student may earn credit for both 4233 and 5233. (F)

SDI 5313. Data Analytics.3 Credit Hours.

(Slashlisted with SDI 4313) Prerequisite: Graduate standing. This course will examine current trends in data science and how it can be used to improve decision-making across different fields, such as business, economics, social and political sciences. Real-world examples will be used to place data science techniques in context and to develop data-analytic thinking. Students will design and realize a data science project using statistical software. No student may earn credit for both 4313 and 5313. (Sp)

SDI 5403. Advanced Web Systems.3 Credit Hours.

(Slashlisted with SDI 4403) Prerequisite: Graduate standing. This course offers an in-depth exploration of web application development, with a particular focus on Object-Relational Mapping (ORM) and database interactions. It encompasses the foundational principles of environment setup and database management through ORM, emphasizing secure application architecture and API development. The curriculum is designed to impart comprehensive skills for effective deployment strategies in advanced, database-oriented web applications. No student may earn credit for both 4403 and 5403. (Sp)

SDI 5903. Master's Practicum.3 Credit Hours.

Prerequisite: Graduate standing. Major team-based software design project to be undertaken in a student's final year of study; project planning, software requirements analysis, design, and specification. Written reports and oral presentations in a technical setting will be required. (Sp)

SDI 5960. Directed Readings.1-3 Credit Hours.

1 to 3 hours. Prerequisite: Graduate standing and departmental permission. Directed readings and/or literature reviews under the direction of a faculty member. May be repeated; maximum credit six hours. (F, Sp, Su)

SDI 5980. Research for Master's Thesis.2-9 Credit Hours.

2 to 9 hours. Prerequisite: Graduate Standing and Instructor Permission. Directed research culminating in the completion of the master's thesis. Variable enrollment, permission of instructor required, two to nine hours; maximum credit required for degree, six hours. (F, Sp)

SDI 5990. Independent Study.1-3 Credit Hours.

1 to 3 hours. Prerequisite: Graduate standing and permission of instructor. Contracted independent study for a topic not currently offered in regularly scheduled courses. Independent study may include library and/or laboratory research and field projects. May be repeated; maximum credit six hours. (Irreg.)