Computer science faculty
Thomas Tiahrt, Ph.D.
Assistant Professor of Computer Science
Ph.D., University of South Dakota
M.A., University of South Dakota
B.S., University of South Dakota
Thomas Tiahrt specializes in the storage and retrieval of unstructured and semi-structured information, the role of ethics in the use of information technology, and computational thinking. His research uses a non-comparison, deterministic approach to intersect large, sparsely populated sets in linear time. He earned a doctorate in computational science and statistics from the University of South Dakota, where he also completed a Master of Arts in computer science.
Tiahrt previously was chief scientist for BrightPlanet Corporation, where he oversaw research and development of novel indexing, storage, search and retrieval software. His professional software development experience spans nearly three decades, with work in accounting systems, newspaper production, image databases, medical image archiving and communication systems, bioinformatics, and information retrieval software.
- Database Management Systems
Database Management Systems This course examines database concepts, theory, design and management. Emphasis will be on the relational model. Topics will also include normalization, query languages, database recovery and security aspects. This course will include experience with a relational database system and programming database access into computer applications via a high-level programming language.Prerequisite: CSC171.(4 credits; alternate years, consult department)
- Writing and Design for the Web
Writing and Design for the Web Study of writing and design for a Web environment. Students will analyze Internet sites and design sites of their own, using a standard program for Web design.Prerequisites: ENG184 or equivalent and any of the following: COM263, ART220, ART230, or permission of instructor.(3 credits; alternate years, consult department)
- Business Computing
Business Computing This course serves as an introduction to common business- oriented computer technologies and issues. Computer applications, misuse and the ethical use of computers in business are explored in detail. Current software applications are studied through laboratories, demonstrations and assignments. Students will learn advanced uses of application programs including spreadsheet processing and information processing with databases.(2 credits)
- Introductory Spreadsheets
- Principles of Computer Information Systems
Principles of Computer Information Systems This course outlines the concepts of computer information systems, data as a resource, information technology planning and implementation, and project management. Topics covered include decision theory, information theory, the role of information technology in an organization, evaluation of system performance, the development process, and societal and ethical issues related to information systems design and use.(2 credits; alternate years, consult department)
- Computer Organization
Computer Organization This course explores architecture and computer design issues in modern computers. Part of the course is spent looking at the basic building blocks used to design and build a computer. The rest of the course deals with how to work with the computer at the level of the central processing unit, main memory and registers. Programming assignments are done in assembly language to see what commands the computer really understands.Corequisite: CSC172.(4 credits; alternate years, consult department)
- Human Computer Interaction and Interface Programming
Human Computer Interaction and Interface Programming Human-Computer Interaction (HCI) focuses on how a user interacts with and interprets the interface of a program. A good interface can make an average program seem better than it is, and a poor interface can ruin a technically superior piece of software. This course will include theory and case studies in lecture and practical programming exercises in lab. A final project will combine theory with programming by designing, implementing, testing and evaluating a complete interface to an application.Prerequisite: CSC172.(4 credits; alternate years, consult department)
Networking This course introduces the student to the field of computer networking. Students will develop an understanding of the general principles of computer communication as they are worked out in an appropriate protocol suite. Specific attention will be paid to principles of architecture, layering, multiplexing, addressing and address mapping, routing and naming. Problems considered include the writing of network software, the physical construction of networks, the Internet and its future development, and network security.Prerequisite: CSC172.(4 credits; alternate years, consult department)
- Operating Systems
Operating Systems Introduction to hardware and software related to system organization. Such topics as process management, device management, and memory management are discussed, as are relevant issues associated with security and protection.Prerequisite: CSC270.(4 credits; alternate years, consult department)
- Value Issues in Computing
Value Issues in Computing This course focuses on a range of social and ethical issues involved in computer science and computer use. Computer professionals have to face these issues and deal with them in a responsible way. Some issues discussed in the course include ethical decision making, software piracy, software protection, computer crime, privacy, errors and reliability, computers and the workplace, responsibility and reliability, artificial intelligence, and virtual reality.(2 credits)
- Computational Science Research Assistant, University of South Dakota
- Chief Scientist, BrightPlanet Corporation
- Principal Software Engineer, BrightPlanet Corporation
- Principal Software Engineer, VisualMetrics Corporation
- Senior Software Engineer, Gateway
- Senior Software Engineer, Parallel Software, Inc.
- Senior Design Engineer, Mycro-Tek, Inc.
- Graduate Teaching Assistant, University of South Dakota
- Director of Software Development, CMC Information Systems, Inc.
- Software Engineer, CMC Information Systems, Inc.
- The Association of Computing Machinery (ACM)
- ACM Special Interest Group in Information Retrieval (SIGIR) ACM Special Interest Group in Management of Data (SIGMOD)
- University of South Dakota John W. Carlson Research Grant
- Upsilon Pi Epsilon, International Honor Society for the Computing and Information Disciplines
- Omicron Delta Epsilon, the International Honor Society for Economics
- University of South Dakota Outstanding Computer Science Graduate Student 1990
- University of South Dakota Outstanding Computer Science Teaching Assistant 1991