CSCI 4380/6380: Data Mining
A broad introduction to data mining methods and an exploration of research problems in data mining and its applications in complex real-world domains. Approaches include association and classification rule learning, tree learning, neural network and Bayesian methods, support vector machines, clustering, and ensemble learning.Taught Fall 2016, Summer & Fall 2018, Fall 2019, Fall 2020, Spring & Fall 2021, Spring & Fall 2024
CSCI(PHIL) 4550/6550: Artificial Intelligence
The artificial intelligence approach to modeling cognitive processes. Topics include an introduction to heuristic methods, problem representation and search methods, classic AI techniques, and a review of the controversial issues of the AI paradigm of cognition as computation.Taught Fall 2015, 2017, 2018, 2022
CSCI(PHIL) 8650: Logic and Logic Programming
Theoretical foundations of automated reasoning and logic programming. Topics covered include propositional logic, predicate logic, first-order models, resolution principles, logic programming paradigms, nonmonotonic reasoning.Taught Spring 2009, Spring 2022
CSCI 8050: Knowledge-Based Systems
Theory and practice of knowledge-based system construction. Topics will include syntax, semantics, and proofs for first-order logic, knowledge-based system construction, rule based inference engines, production systems, the Semantic Web, description logics, reasoning from incomplete or uncertain information.Taught Spring 2011, 2014, 2016, 2017, 2018, 2020, 2023, 2024 (as ARTI 8800)
CSCI(ARTI) 4540/6540: Symbolic Programming
Programming in LISP and PROLOG, with emphasis on artificial intelligence techniques. Other languages used for artificial intelligence work will be presented more briefly.Taught Fall 2008, 2014, 2017
CSCI 2670: Introduction to Theory of Computing
A first course on finite automata, regular and context free languages, push-down automata, pumping lemmas, the Chomsky hierarchy, Turing machines, decidability, reducibilities of decision problems, time complexity, NP-completeness and tractability.Taught Spring 2013
CSCI 2610: Discrete Mathematics for Computer Science
A survey of the fundamental mathematical tools used in computer engineering: sets, relations, and functions; propositional and predicate logic; proof writing strategies such as direct, contradiction and induction; summations and recurrences; elementary asymptotics and timing analysis; counting and discrete probability; undirected and directed graphswith applications in computer science.Taught Fall 2012, Spring 2013
CSCI 1301-1301L: Introduction to Computing and Programming
Algorithms, programs, and computing systems. Fundamental techniques of program development and supportive software tools. Programming projects and applications in a structured computer language. Hands-on experience using microcomputers. Offered fall, spring, and summer semesters every year.Taught Fall 2006, Spring 2007, Fall 2012
CSCI 3030: Computing, Ethics, and Society
Introduction to social and ethical issues relating to computer science and information technology. Topics include intellectual property, open source software, the digital divide, globalization, and professional ethics. Students should have a working knowledge of personal computing.Taught Spring 2011
PHIL 2500H: Symbolic Logic (Honors)
The methods and principles used to distinguish correct from incorrect deductive arguments, with emphasis on contemporary techniques of analysis.Taught Fall 2009
CSCI 1100-1100L: Introduction to Personal Computing
Computer technology as currently used in universities, businesses, and homes. This course covers fundamental hardware, software, and networking concepts, plus the social, economic, and legal impact of information systems. Hands-on laboratory exercises cover advanced document preparation, mathematical modeling, and multimedia. Networks and the internet are emphasized throughout. Offered fall, spring, and summer semesters every year.Taught Fall 2004, 2005, Summer 2005, 2006