Artificial Intelligence (CS 3793 | Spring 2019): Python
Discussion of theorem-proving by machine; includes computational linguistics, psychological modeling, and computer games.
Data Mining (CS 4373 | Spring 2019): Python
Principles, techniques, systems and evaluation of data mining. Topics may include data preprocessing, frequent pattern mining, association mining, classification and prediction, cluster analysis, and advanced topics such as mining streams, time-Series, texts, and graphs.
Enterprise Software Engineerng (CS 4743 | Fall 2018): JAVA
Providing a hands-on introduction to principles and best practices for the development of enterprise-level software systems. Topics include architectural patterns, database models, remote deployment and execution, and concurrency management.
Software Validation and Quality Assurance (CS 4723 | Fall 2018): Python and JAVA
Study of software validation techniques. Introduction to static analysis and software testing approaches (functional testing, structural testing, integration testing and regression testing). Overview of test planning and test case design. Review of topics in quality assurance.
Intro to Database Systems (CS 3743 | Spring 2018): SQL and JAVA
Topics include basic concepts, various data models, database design, storage systems, indexing and hashing, database application design and implementation, and commercially available database systems.
Programming Languages (CS 3723 | Spring 2018): LISP, C, and PYTHON
An introduction to high-level procedural, functional, and object-oriented programming languages, their theoretical foundations, organization, and implementation. Topics include formal syntax, compilers and interpreters, type systems, scoping and activation records, control structures, and data abstraction.
Operating Systems (CS 3733 | Fall 2017): C
An introduction to the functions and major techniques of a modern multiprogramming operating system. Includes exposure to the fundamentals of processor management, process synchronization, memory management, and peripheral management.
Application Programming (CS 3443 | Spring 2017): JAVA
Advanced application development in a current object-oriented language. Introduction to the software life cycle, best programming practices, and modern development tools.
Computer Organization (CS 3843 | Spring 2017): Assembly (Intel Syntax)
Organization of a computer system is introduced at block diagram level. Programming in assembly language and understanding the macroarchitecture of a computer is emphasized. Fundamentals of digital systems are introduced and the designs of various components used are investigated.
Systems Programming (CS 3423 | Fall 2016): SED, AWK, PERL, and C
A study of systems-level programming in a specific system (at present, Unix). Focus on concepts and tools to support the construction of systems programs.