200
Provide an understanding of fundamental software architecture concepts, standards, drivers, styles, and design specification tenets including design patterns. Develop an understanding of UML method notations and tools to document architectures, and use of tradeoff methodologies (e.g., QAW, ATAM) to evaluate an architecture. Present tenets of technical and ethical debt. Throughout the course students will implement a core set of software design patterns using language of choice.
Elicitation, analysis, specification, validation, and management of user requirements; conflict resolution; process, notations, methods and tools, requirements standards, operational concepts documents (OCD) and system requirements specifications (SRS).
This course will focus on both the technologies and practices of cybersecurity on the Internet networking environment, and key cybersecurity methods and practices for securing complex computing and networking systems. Included in the course are: how networks are designed and constructed, security practices given internet exposed systems, software, and networks, cloud technologies, root cause analysis methods, and simple cybersecurity attacks and defenses. This course has lab and classroom components that introduces students to key technologies for the upper level cybersecurity and software engineering coursework.
Introduces students to the fundamentals of network and data communication technologies. Course topics include telecommunication media and equipment; data transmission and protocols; corporate, local, and wide area networks; intranets and internets; and network software and management. An introduction to electromagnetic concepts and principles is included to provide a technical foundation for these concepts (Cross listed with CSC 256).
CSC 141 or CSC 144
Studies the design and the implementation querying of a database. The focus is on the development of effective SQL queries and the use of relational databases. Other database types and technologies will be discussed.