Department of Computer Science and Electrical Engineering

The department of Computer Science and Electrical Engineering (CSEE) offers bachelor's degrees in Cybersecurity, Electrical Engineering and Computer Science, and a master's degree in Computer Engineering. CSEE majors engage in hands-on applications of discipline-related concepts and tools, taught in an engaging, student-centered environment. Our main goal is the academic success of our students. The department has state-of-the-art instructional and research equipment, including general-purpose computer labs, dedicated labs for circuits, systems, networking, and robotics, industry-standard software, high-performance PCs and workstations for AI/ML, and instructional software for cybersecurity. Students gain practical experience with these tools throughout the curriculum, and they also conduct undergraduate and graduate research with our faculty. Any degree from the CSEE department opens doors to challenging and rewarding high-tech careers in engineering, computing, and cybersecurity.

Math Readiness

Our programs do not have admission standards separate from those of the university; however, math preparedness is a critical component of success in all of them. It is important for potential majors to strive to prepare in mathematics prior to entering college. All our bachelor's programs start with MATH 2413 Calculus I as the first math course, and placement is required for incoming freshmen to register for Calculus 1. The Mayfield College of Engineering (MCOE) upholds a Math Placement Policy to ensure that students are placed into the appropriate math courses. For more information, please see the MCOE page or your academic advisor.

If you plan to start at a community college and then transfer to one of our programs, be advised that:

  • Coursework in all our majors is very sequential – each course has one or more prerequisites – so it is important to start taking courses in your major as early as possible if you wish to graduate in a four-year time frame.
  • Choosing to take only general education courses before transferring to one of our programs is not recommended. Please contact the department for guidance on including appropriate math, science, and introductory engineering and CS content – we’ll be happy to help!

Electrical engineering majors who are not college-ready in mathematics are designated as "Pre-engineering" (PREN) until they are eligible to enroll in Precalculus or Plane Trigonometry; at that time they will declare an ELEN major and begin engineering coursework. 

Departmental Course Prerequisite Policy

It is important for students to stay academically prepared as they progress through their curriculum. Prerequisite (taken previously) and corequisite (taken previously or concurrently) courses are in place to establish the foundational knowledge and skills needed to be successful in any given course. For the Computer Science and Electrical Engineering degrees, students must earn a grade of “C” or better in all required engineering, CS, math, science and elective coursework to graduate. The following summarizes the policy for allowing/disallowing forward progress when prerequisite conditions are not fully met: 

  • If a student earns an F in a prerequisite or has not taken that prerequisite, the student may NOT enroll in the follow-up course.
  • If a student earns a D in a prerequisite, they are allowed a prerequisite waiver to enroll in the follow-up course, but only if ALL THREE following conditions are met:
    • The student has an overall GPA of 2.2 or higher, AND 
    • If by not enrolling in the follow-up course, the student’s graduation date is adversely impacted (advisor must check the cascading effect of not enrolling in a course), AND
    • The student has not exceeded the maximum of FOUR prerequisite waivers.
  • If a student qualifies for a prerequisite waiver, they must re-enroll in the prerequisite course concurrently; if the prerequisite is not offered concurrently, the student must re-enroll on its next offering.
  • A student may utilize a maximum of FOUR prerequisite waivers over the duration of their pursuit of a degree within the CSEE department. Changing majors within the department does not reset the waiver count.

The department also allows a maximum of TWO engineering or CS courses to be taken as a transient (temporary) student at another university. Consult the department office or an advisor for additional information on these policies.

Bachelor of Science in Artificial Intelligence and Machine Learning

The Bachelor of Science degree in Artificial Intelligence and Machine Learning (AIML) prepares graduates to enter the high-tech workforce or to continue their studies at the graduate level. We offer a curriculum that includes a broad introduction to AI, as well as the relevant computer science and mathematics foundations of the field. A sequence of in-depth courses then cover the main areas of applications and research in AIML: neural networks, computer vision, robotics, autonomous systems, and reinforcement learning. Students are encouraged to gain experience in complementary technical areas through technical electives.

Additional details can be found on the department website: www.tarleton.edu/csee.

General Education Requirements42
COSC 1302Introduction to Computer Science3
COSC 1310Procedural Programming3
COSC 2321C++ Programming3
COSC 2341Data Structures and Algorithms3
COSC 2345Introduction to Artificial Intelligence3
COSC 2448Introduction to Digital Systems Design4
COSC 3330Games, Graphics and GUIs3
COSC 3344Computer Applications in Analysis3
COSC 3360Python Programming for Data Science3
COSC 3366Computer Vision3
COSC 4301Database Theory and Practice3
COSC 3443Computer Architecture4
COSC 4345Reinforcement Learning3
COSC 4346Robotics and Autonomous Systems3
COSC 4360Machine Learning3
COSC 4361Deep Neural Networks3
COSC 4378Computer Networks3
COSC 4381AI and Machine Learning Capstone3
Placement is required for MATH 2413 (Calculus 1). See the MCOE catalog page for details.
MATH 2413 [shared] Calculus I
MATH 2414Calculus II4
PHYS 2425 [shared] University Physics I
MATH 3310Discrete Mathematics3
MATH 3318Linear Algebra3
MATH 3311Probability and Statistics I3
MATH 4311Probability and Statistics II3
Choose 6 hours from the following:6
Any COSC course from 2331, 3341, 3364, 3380, 3389, 4088
Any MATH course from 3301, 3306, 3360, 3364, 3433, 4306, 4311, 4320, 4332
Any BCIS course from 1305, 1317, 3332, 3333, 3342, 3343, 3347, 4350
Total Hours120

Bachelor of Science in Electrical Engineering

The Electrical Engineering program at Tarleton State University was launched in Fall 2014 and is accredited by the Engineering Accreditation Commission of ABET, www.abet.org.  The mission of the Electrical Engineering program is to prepare graduates for employment in Electrical Engineering related industries, for engineering licensure, and for graduate studies in Electrical, Computer and related engineering and science disciplines. This is accomplished through an application-oriented curriculum and experiences in which students develop their ability to synthesize concepts into solutions, use modern analytical tools and techniques, communicate professionally and work in a team environment. The program provides both breadth and depth in topics including digital systems, electronics, signal processing and control systems. Additional studies in ethics assure that the graduate understands engineers' special obligations to society. This results in engineering graduates who strive to advance the engineering profession through technical competence, innovative problems solving and design, professional conduct, and lifelong learning. Additional details can be found on the department website: www.tarleton.edu/csee.

Students must earn a grade of “C” or better in all engineering, CS, math, and science coursework in order to graduate. Students are strongly encouraged to take the Fundamentals of Engineering (FE) licensure exam, and resources for FE preparation are provided.

General Education Requirements42
ENGR 1211Engineering Fundamentals I2
ELEN 1212Introduction to Electrical Engineering2
ENGR 2322Engineering Thermodynamics I3
ENGR 3311Engineering Mathematical Methods3
ENGR 4259Engineering Capstone I2
ENGR 4360Engineering Capstone II3
ELEN 2425Electrical Circuit Theory4
ELEN 2448Introduction to Digital System Design4
ELEN 3314Signals and Systems3
ELEN 3320Engineering Analysis Techniques3
ELEN 3443Computer Architecture4
ELEN 3310Power Systems Engineering3
ELEN 3445Electronics I4
ELEN 4340Digital VLSI Design3
ELEN 4336Solid State Physics3
ELEN 4441Microprocessor System Design4
ELEN 4443Linear Control System Design4
ELEN 4446Electronics II4
ELEN 4350Communication Systems Theory3
ELEN 4355Digital Signal Processing3
Advanced COSC, MATH, or ELEN elective - Choose from the following:3
Python Programming for Data Science
NoSQL Databases
Computer Vision
Database Theory and Practice
Computer Networks
Discrete Mathematics
Foundations of Mathematics
Partial Differential Equations
Mathematical Modeling
Undergraduate Research Project
COSC 1310Procedural Programming3
CHEM 1409College Chemistry for Engineers4
PHYS 2425 [shared] University Physics I
PHYS 2426 [shared] University Physics II
Placement for required for Calculus 1 (MATH 2413)
MATH 2413 [shared] Calculus I
MATH 2414Calculus II4
MATH 3433Calculus III4
MATH 3306Differential Equations3
Total Hours127

Bachelor of Science in Computer Science

The Bachelor of Science degree in Computer Science prepares graduates to enter the high-tech workforce or to continue their studies at the graduate level. We offer concentrations in software engineering, artificial intelligence and data science, computer engineering, cybersecurity and game development. The program provides a strong foundation in hardware, software, mathematics and general science, aligned with curriculum standards set forth within the Computer Science discipline. Students are encouraged to gain experience in complementary technical areas through technical electives. Additional details can be found on the department website: www.tarleton.edu/csee.

Student must earn a grade of “C” or better in all CS, math, science, and elective coursework in order to graduate.

Placement is required for MATH 2413
General Education Requirements42
MATH 2413Calculus I4
MATH 1342 [shared] Elementary Statistical Methods
MATH 2414Calculus II4
MATH 3310Discrete Mathematics3
PHYS 2425 [shared] University Physics I
COSC 1302Introduction to Computer Science3
COSC 1310Procedural Programming3
COSC 2321C++ Programming3
COSC 2331Java Programming3
COSC 2341Data Structures and Algorithms3
COSC 2448Introduction to Digital Systems Design4
COSC 3443Computer Architecture4
COSC 3380Operating Systems3
COSC 3389Software Engineering I3
COSC 4378Computer Networks3
ADVANCED Technical Electives 111
Total Hours96
Artificial Intelligence and Machine Learning
MATH 3318Linear Algebra3
COSC 3360Python Programming for Data Science3
COSC 4360Machine Learning3
COSC 4301Database Theory and Practice3
COSC 3366Computer Vision3
Advanced COSC or approved MATH, BCIS, or Digital Media Studies electives9
Total Hours24

Computer Engineering
PHYS 2426 [shared] University Physics II
MATH 3306Differential Equations3
COSC 4441Microprocessor System Design4
ELEN 2425Electrical Circuit Theory4
ELEN 3314Signals and Systems3
Select 10 hours from the following:10
Power Systems Engineering
Communication Systems Theory
Digital Signal Processing
Electronics I
Linear Control System Design
Total Hours24

Cybersecurity
COSC 3360Python Programming for Data Science3
COSC 4360Machine Learning3
COSC 4364Principles of Cybersecurity3
MATH 3301Number Theory3
Advanced COSC elective3
Advanced COSC or approved MATH, BCIS, or Digital Media Studies electives 6
COSC or approved MATH, BCIS, or Digital Media Studies elective3
Total Hours24

Game Development
COSC 3330Games, Graphics and GUIs3
MATH 3318Linear Algebra3
ARTS 2344Game Design3
Select 6 hours from the following:6
Tradigital Animation I
Tradigital Animation II
3D Video Game Environment I
3D Video Game Environment II
3D Rendering and Lighting
Interaction Design
Two advanced COSC electives6
Advanced COSC or approved MATH, BCIS, or Digital Media Studies elective3
Total Hours24

General Computer Science
COSC 4301Database Theory and Practice3
MATH 3318Linear Algebra3
Two advanced COSC electives6
COSC or approved MATH, BCIS, or Digital Media Studies electives (at least 9 hours advanced)12
Total Hours24

Software Engineering
COSC 3390Software Engineering II3
COSC 4389Programming Languages Fundamentals3
COSC 4301Database Theory and Practice3
COSC 4351Distributed Applications3
MATH 3318Linear Algebra3
Advanced COSC or approved MATH, BCIS, or Digital Media Studies electives 3
COSC or approved MATH, BCIS, or Digital Media Studies elective6
Total Hours24

Bachelor of Science in Cybersecurity

Placement is required for Calculus 1.
General Education Requirements42
MATH 1342 [shared] Elementary Statistical Methods
MATH 2413Calculus I4
MATH 2414Calculus II4
PHYS 2425 [shared] University Physics I
MATH 3310Discrete Mathematics3
COSC 1302Introduction to Computer Science3
COSC 1310Procedural Programming3
COSC 2321C++ Programming3
COSC 2341Data Structures and Algorithms3
COSC 3341Applied Cryptography3
COSC 3443Computer Architecture4
COSC 3380Operating Systems3
COSC 3360Python Programming for Data Science3
COSC 4401Database Theory and Practice4
COSC 4360Machine Learning3
COSC 3364Principles of Cybersecurity3
COSC 4365Software Security3
COSC 4378Computer Networks3
Select 6 credits from BCIS courses:6
Computer Forensics
Ethical Hacking & Network Defense
Network and Systems Security
CRIJ 4353Global Cyber-Security3
COSC 4380Cybersecurity Capstone3
Approved COSC, MATH, BCIS, or CRIJ electives, at least 10 hours advanced14
Total Hours120

Academic Advising Guides

Academic Advising Guides area available at the following website:

https://web.tarleton.edu/majorinfo/

Computer Engineering Courses

Computer Science Courses

COSC 1100. Transitioning to University Studies in Computer Science. 1 Credit Hour (Lecture: 1 Hour, Lab: 1 Hour).

Practical study designed to prepare the student for university life, aid in the development of skills for academic success, promote personal growth and responsibility, and encourage active involvement in the learning process from an individual college perspective. These skill sets are presented in the context of engineering and computer science disciplines.

COSC 1302. Introduction to Computer Science. 3 Credit Hours (Lecture: 3 Hours, Lab: 2 Hours).

History of computers and of their applications in a variety of fields, both as PCs and as embedded systems. Overview of programming paradigms. Overview of today's most dynamic computer-related technologies, including communication networks and the Internet. A modern programming language is used to present types of problems that can be solved with computers, the underlying algorithms, and the fundamental limitations. We adopt early in this course the information-centric viewpoint, exploring the role of computers in all stages of the information life-cycle. Students apply their newly-acquired programming skills to performing basic information-processing tasks. Lab fee $2.

COSC 1310. Procedural Programming. 3 Credit Hours (Lecture: 3 Hours, Lab: 2 Hours).

Introduces the fundamental concepts of structured programming. Topics include software development and methodology, data types, control structures, functions, arrays, pointers and the mechanics of running, testing, and debugging. Prerequisite: MATH 1314 or concurrently enrolled in one of the following: MATH 1316, MATH 2412, MATH 2413, MATH 2414 Lab fee: $2.

COSC 2321. C++ Programming. 3 Credit Hours (Lecture: 3 Hours, Lab: 2 Hours).

Applies the object-oriented programming paradigm using the C++ programming language. The focus is on the definition and use of classes, interfaces, data encapsulation, inheritance, and polymorphism, templates and exceptions. Presents an introduction to object-oriented design. Prerequisite: COSC 1310. Lab fee: $2.

COSC 2331. Java Programming. 3 Credit Hours (Lecture: 3 Hours, Lab: 2 Hours).

The main parts of the Java programming language are covered, including classes, methods, interfaces, inheritance, polymorphism, generics, lambda expressions, annotations, exceptions, threads and synchronization, collections, Java IO and NIO API. Prerequisite: COSC 1310 Lab fee: $2.

COSC 2341. Data Structures and Algorithms. 3 Credit Hours (Lecture: 3 Hours, Lab: 2 Hours).

Recursion, fundamental types of data structures (stacks, queues, linked lists, hash tables, trees, graphs, and matrices) and algorithms (brute-force, divide-and-conquer, dynamic programming, greedy), searching and sorting, space-time trade-offs, algorithmic analysis for recursive and non-recursive algorithms, as well as an introduction to the limits of computing and NP-completeness. Application of programming techniques to the implementation of the fundamental data structures and algorithms covered. Prerequisite: COSC 1310 or BCIS 3332 or BCIS 3343 Lab fee: $2.

COSC 2345. Introduction to Artificial Intelligence. 3 Credit Hours (Lecture: 3 Hours, Lab: 1 Hour).

The course introduces the basic ideas and techniques underlying the design of intelligent computer systems. Topics include the history of Artificial Intelligence, types of agents and environments, knowledge representation, searching, constraints, heuristics, adversarial search, planning, Bayes’ Rule, Bayesian networks, Markov chains, supervised and unsupervised learning, artificial neural networks. Prerequisite: COSC 1310 and either MATH 1342 or MATH 3311.

COSC 2448. Introduction to Digital Systems Design. 4 Credit Hours (Lecture: 3 Hours, Lab: 3 Hours).

Combinational and sequential digital system design techniques; programmable logic devices; computer components (ALU, memory, IO circuits); hardware description language (VHDL); introduction to machine and assembly languages. Credit for both COSC 2448 and ELEN 2448 will not be awarded. Prerequisite: COSC 1310 (or concurrently), or ELEN 1212 (prerequisite), or MEEN 2212 (prerequisite) Lab fee: $2.

COSC 3330. Games, Graphics and GUIs. 3 Credit Hours (Lecture: 3 Hours, Lab: 2 Hours).

2D and 3D graphics; the main building-blocks of game design, from a programmer's perspective, such as character animation, scene navigation, shading, modeling, game rules, and GUI. Prerequisites: COSC 2321 and COSC 2341 Lab fee: $2.

COSC 3341. Applied Cryptography. 3 Credit Hours (Lecture: 3 Hours, Lab: 2 Hours).

Introduction to cryptography as it applies to computer security. It describes modern cryptographic systems and potential attacks against them. Topics include symmetric and asymmetric encryption algorithms, authentication, key exchange protocols, and blockchain technology. Applications to electronic commerce, including business, ethical and legal issues. Prerequisites: COSC 2341 and either MATH 3310 or MATH 3301 concurrently Lab fee: $2.

COSC 3344. Computer Applications in Analysis. 3 Credit Hours (Lecture: 3 Hours, Lab: 2 Hours).

Binary representations of integers and floating-point numbers; solutions to specific and general polynomial equations; regression and iteration techniques; approximate derivation and integration; error analysis; linear systems and matrix algorithms; other selected numerical algorithms, including non-linear ones. Use of MATLAB (or other similar computational tools) for performing computational analysis and generating graphical interpretations of the results is also included. Prerequisites: MATH 2414 and one of the following: COSC 1310 or BCIS 3332 or BCIS 3333 Lab fee: $2.

COSC 3360. Python Programming for Data Science. 3 Credit Hours (Lecture: 3 Hours, Lab: 2 Hours).

Programming tools are used to illustrate the components of the data pipeline: data collection, cleaning, exploration, dimensionality reduction, modeling, visualization, and applications. The course includes an introduction to machine learning. A scripting language and some of its scientific libraries are introduced and covered in considerable detail. These programming tools are then used to illustrate the components of the data pipeline: data collection, cleaning, exploration, dimensionality reduction, modeling, visualization, and applications. Both text analysis and numerical analysis are covered. The course includes an introduction to some basic machine learning algorithms. Prerequisite: COSC 1310, or COSC 2321, or COSC 2331, or BCIS 3332, or BCIS 3343 Lab fee: $2.

COSC 3364. Principles of Cybersecurity. 3 Credit Hours (Lecture: 3 Hours, Lab: 2 Hours).

This course introduces students to the fundamental concepts and best practices of cybersecurity. Security policies and mechanisms; threats, vulnerabilities, risks, and controls; authentication; access control; cryptography; software security; web security; operating system security; network security; database security; cloud computing security; cybersecurity ethical issues. Prerequisite: COSC 2321 or COSC 2331 or COSC 2341 or COSC 2448 or ELEN 2448 Lab fee: $2.

COSC 3365. NoSQL Databases. 3 Credit Hours (Lecture: 3 Hours, Lab: 2 Hours).

This course provides an introduction to NoSQL database management systems, with emphasis on the document-centric model. Topics include Create, Read, Update, Delete (CRUD) operations, data processing pipelines, replication, sharding, and the MapReduce paradigm. Prerequisite: COSC 1310, or COSC 2321, or COSC 2331, or BCIS 3332, or BCIS 3333 Lab fee: $2.

COSC 3366. Computer Vision. 3 Credit Hours (Lecture: 3 Hours, Lab: 2 Hours).

An introduction to the field of computer vision algorithms. It covers a broad range of topics, from simple to complex, such as: image formation, camera calibration, image processing, edge detection, filtering, feature extraction, image segmentation, multiple-view geometry, optical flow, and multiple-view geometry algorithms. Also provides an introduction to deep learning and robotics applications. Prerequisites: COSC 1310 and one of the following: COSC 2321 or COSC 2331 or COSC 2341 or COSC 3360 or COSC 3344 or ELEN 3320 Lab fee: $2.

COSC 3380. Operating Systems. 3 Credit Hours (Lecture: 3 Hours, Lab: 2 Hours).

Introduction to the design and development of operating systems. Analysis of current system software technology, including process management, memory organization, security, and file systems. Prerequisites: COSC 1310 and COSC 2341 Lab fee: $2.

COSC 3389. Software Engineering I. 3 Credit Hours (Lecture: 3 Hours, Lab: 0 Hours). [WI]

Introduction to software engineering, covering the software development process (incremental and agile vs waterfall), software requirements (functional and nonfunctional requirements, software quality), Unified Modeling Language, conceptual and behavioral modeling, software architecture, software design, and design principles. Prerequisite: COSC 2331.

COSC 3390. Software Engineering II. 3 Credit Hours (Lecture: 3 Hours, Lab: 0 Hours).

The course is a follow-up to Software Engineering I. The main topics are: tools used in software development, coding practices, design patterns, code smells and refactoring, and testing (black box vs white box testing, unit tests, integration tests, acceptance tests). Prerequisite: COSC 3389 Lab fee: $2.

COSC 3443. Computer Architecture. 4 Credit Hours (Lecture: 3 Hours, Lab: 3 Hours).

Hardware and software structures found in modern digital computers. Digital circuits, instruction set architecture, hardwired design of the processor, assembly language programming, microprogramming, I/O and memory units, analysis of instruction usage, hardware complexity, and parallel computer architectures and programming. Credit for both COSC 3443 and ELEN 3443 will not be awarded. Prerequisite: COSC 1310 or COSC 2321 or COSC 2331. Lab fee: $2.

COSC 3489. Software Engineering I. 4 Credit Hours (Lecture: 3 Hours, Lab: 3 Hours). [WI]

The course is an introduction to software engineering. The main topics are software development process, software requirements, Unified Modeling Language, conceptual and behavioral modeling, software architecture, software design, and design principles. Prerequisite: COSC 2331 Lab fee: $2.

COSC 4086. Special Problems. 1-4 Credit Hours (Lecture: 1-4 Hours, Lab: 1-4 Hours).

Directed study of selected topics in Computer Science. May be repeated with approval of department head.

COSC 4088. Undergraduate Research Project. 1-3 Credit Hours (Lecture: 1-3 Hours, Lab: 0-0 Hours).

Methods of research in computer science through a research project directed by a departmental faculty member. The student is required to prepare a final report and presentation. No credit is earned until the final report and presentation are certified as completed by the faculty member directing the project. Prerequisites: Junior standing.

COSC 4301. Database Theory and Practice. 3 Credit Hours (Lecture: 3 Hours, Lab: 2 Hours).

Database models, with emphasis on relational databases. SQL, conceptual modeling, relational algebra, functional dependency theory, normalization and normal forms. File and data management principles underlying database construction. Optimization algorithms and indexing. Prerequisites: Either COSC 2341 by itself, or (MATH 3310 and one of the following: COSC 1310 or BCIS 3332 or BCIS 3343) Lab fee: $2.

COSC 4345. Reinforcement Learning. 3 Credit Hours (Lecture: 3 Hours, Lab: 0 Hours).

This course will provide an introduction to, and comprehensive overview of, reinforcement learning (RL). Topics include Markov decision process and dynamic programming, Monte-Carlo methods, temporal difference learning, integration of planning and learning, policy gradient and actor-critic methods, deep learning and deep RL algorithms. Students will engage in exercises and projects that involve coding in simulated RL environments. Credit will not be awarded for both COSC 4345 and 5345. Graduate students will have to complete additional assignments. Prerequisite: MATH 3311, MATH 3318, and one of (COSC 2345, COSC 3360, COSC 3366).

COSC 4346. Robotics and Autonomous Systems. 3 Credit Hours (Lecture: 3 Hours, Lab: 0 Hours).

Overview of the major areas of robotics and autonomous systems. AI, machine learning and optimization algorithms that enable autonomous agents to operate in unstructured, dynamic environments, including localization and mapping, sensor fusion, computer vision, path planning, communication, and obstacle avoidance. Students will engage in exercises and projects that involve developing robotics systems with autonomous actions, and evaluating their performance using computer simulations and physical robotic systems. Credit will not be awarded for both COSC 4346 and 5346. Graduate students will have to complete additional assignments. Prerequisite: MATH 3311, MATH 3318, and one of (COSC 2345 or COSC 3360 or COSC 3366).

COSC 4351. Distributed Applications. 3 Credit Hours (Lecture: 3 Hours, Lab: 2 Hours).

A study of the architecture and design of distributed applications. N-tier application and supporting technologies are investigated including client/server architecture, supporting languages, transaction processing, and distribution of processes. Prerequisites: COSC 2331 and COSC 2341. Lab fee: $2.

COSC 4360. Machine Learning. 3 Credit Hours (Lecture: 3 Hours, Lab: 2 Hours).

This course is a broad introduction to machine learning algorithms, with emphasis on their application in data science and cybersecurity. Topics include dimensionality reduction, regression, clustering, support vector machines, decision trees, naïve Bayes, and neural networks. The course includes a significant project component, with real-world data. Prerequisites: COSC 2341, COSC 3360, and either MATH 1342 or MATH 3311 Lab fee: $2.

COSC 4361. Deep Neural Networks. 3 Credit Hours (Lecture: 3 Hours, Lab: 0 Hours).

Introduction to the principles and theory of neural networks, with emphasis on deep neural networks. Topics include convolutional networks, recurrent and LSTM networks, reinforcement learning, preprocessing, regularization, tuning and optimization, as well as mathematical and programming tools. Applications to classification, image recognition, autonomous vehicles. Credit will not be awarded for both COSC 4361 and 5361. Graduate students will have to complete additional assignments. Prerequisite: MATH 3311, MATH 3318, and one of (COSC 2345 or COSC 3360 or COSC 3366).

COSC 4364. Principles of Cybersecurity. 3 Credit Hours (Lecture: 3 Hours, Lab: 2 Hours).

Introduces students to the fundamental concepts, tools, and industry standards of the cybersecurity field. Students will learn how to protect computer systems, networks, and programs from possible digital attacks. Practical and research-specific knowledge to match today's industry standards. Prerequisite: MATH 1342; MATH 3310; COSC 3360 or proficiency in Python; Lab fee: $2.

COSC 4365. Software Security. 3 Credit Hours (Lecture: 3 Hours, Lab: 0 Hours).

Introduces the basic software security principles and pitfalls, including defensive programming, buffer, integer and string problems, runtime errors, data protection, secure file access. Covers mechanisms and tools used to make software systems more secure, including architectural approaches to building secure software. Prerequisite: COSC 2321 Lab fee: $2.

COSC 4378. Computer Networks. 3 Credit Hours (Lecture: 3 Hours, Lab: 2 Hours). [WI]

Presentation of computer network layered architecture, going through the five main layers: physical, data link, network, transport, and application. Emphasis is placed on medium access control sub-layer for local area networks, routing algorithms and protocols, connectionless and connection-oriented transport services, application layer services and protocols, security, and modern wireless access technologies. Prerequisites: Either COSC 2341 by itself, or (MATH 3310 and one of the following: COSC 1310 or BCIS 3332 or BCIS 3343) Lab fee: $2.

COSC 4380. Cybersecurity Capstone. 3 Credit Hours (Lecture: 3 Hours, Lab: 0 Hours). [WI]

Students apply cybersecurity principles and techniques to develop a complex information system starting from customer requirements and progressing through the entire analysis, design, implementation, testing, and delivery lifecycle. Students work in teams to develop a project plan, complete the technical components of the project, test, and prepare deliverable documents. Prerequisites: Cybersecurity major and senior standing.

COSC 4381. AI and Machine Learning Capstone. 3 Credit Hours (Lecture: 3 Hours, Lab: 0 Hours). [WI]

Students apply AI and Machine Learning (ML) principles and algorithms to develop a complex system starting from customer requirements and progressing through the entire analysis, design, implementation, testing, and delivery lifecycle. Students work in teams to develop a project plan, complete the technical components of the project, test, prepare deliverable documents, and present the project. Prerequisite: AIML major and senior standing.

COSC 4389. Programming Languages Fundamentals. 3 Credit Hours (Lecture: 3 Hours, Lab: 2 Hours).

The course is about the principles of programming languages, concepts of language processing, program representation, and language translation and execution. The main topics are formal description of programming languages, syntax analysis, semantic analysis, code generation, and runtime systems. Prerequisite: COSC 2331, COSC 2341 Lab fee: $2.

COSC 4401. Database Theory and Practice. 4 Credit Hours (Lecture: 3 Hours, Lab: 3 Hours).

Fundamental types of database models, with emphasis on relational databases. SQL, conceptual modeling, relational algebra, functional dependency theory, normalization and normal forms. File and data management principles underlying database construction. Optimization algorithms and indexing. Prerequisites: Either COSC 2341 by itself, or (MATH 3310 and one of the following: COSC 1310 or BCIS 3332 or BCIS 3333) Lab fee: $2.

COSC 4441. Microprocessor System Design. 4 Credit Hours (Lecture: 3 Hours, Lab: 3 Hours).

Introduction to microprocessors; 8/16 bit single board computer hardware and software designs; chip select equations for memory board design, serial and parallel I/O interfacing; ROM, static and dynamic RAM circuits for no wait-state design; assembly language programming, stack models, subroutines and I/O processing. Credit for both COSC 4441 and ELEN 4441 will not be awarded. Prerequisite: COSC 1310; ELEN 2448 or COSC 2448. Lab fee $2.

COSC 4451. Distributed Applications. 4 Credit Hours (Lecture: 3 Hours, Lab: 3 Hours).

A study of the architecture and design of distributed applications. N-tier application and supporting technologies are investigated including client/server architecture, supporting languages, transaction processing, and distribution of processes. Prerequisites: COSC 2331 and COSC 2341. Lab fee $2.

COSC 4478. Computer Networks. 4 Credit Hours (Lecture: 3 Hours, Lab: 3 Hours). [WI]

Bottom-up presentation of computer network hardware and protocols, going through the five main layers: physical, data link, network, transport, and application. Special emphasis is placed on the medium access control sub-layer for local area networks, IP routing, security and modern wireless access technologies. Prerequisites: Either COSC 2341 by itself, or (MATH 3310 and one of the following: COSC 1310 or BCIS 3332 or BCIS 3333) Lab fee: $2.

Electrical Engineering Courses

ELEN 1212. Introduction to Electrical Engineering. 2 Credit Hours (Lecture: 2 Hours, Lab: 2 Hours).

The course elaborates on the question “What is Electrical Engineering?”, and also aims to cover background and basics on various topics in electrical engineering, such as analog and digital circuitry, microelectronics, signal processing, control systems, communication systems, and power systems. After learning some fundamental theories and concepts, the students will apply them to standard electrical system designs and analysis. The students will also utilize a variety of systems testing and circuit prototyping tools, such as digital multimeters, oscilloscopes, function generators, electronic workstations, along with industry-standard software. Prerequisite: ENGR 1211 Lab fee: $2.

ELEN 2425. Electrical Circuit Theory. 4 Credit Hours (Lecture: 3 Hours, Lab: 3 Hours).

Theory of electrical circuits, including voltage, current, power, and energy as circuit variables and sources, resistors, capacitors, and inductors as circuit elements. Coverage of disciplined circuit analysis techniques, equivalent circuit models, maximum power transfer, ideal operational amplifiers, first- and second-order circuits, sinusoidal steady state operation, phasor analysis, and computer-aided circuit simulation. This course concludes with an introduction to system-level concepts, the Bode response, and system transfer functions. Prerequisite: PHYS 2426 or concurrent registration; MATH 2414 or concurrent registration. Lab fee: $2.

ELEN 2448. Introduction to Digital System Design. 4 Credit Hours (Lecture: 3 Hours, Lab: 3 Hours).

Combinational and sequential digital system design techniques; programmable logic devices; computer components (ALU, memory, IO circuits); hardware description language (VHDL); introduction to machine and assembly languages. Credit for both COSC 2448 and ELEN 2448 will not be awarded. Prerequisite: COSC 1310 (concurrently), or ELEN 1212 (prerequisite), or MEEN 2212 (prerequisite) Lab fee: $2.

ELEN 3310. Power Systems Engineering. 3 Credit Hours (Lecture: 3 Hours, Lab: 0 Hours).

Introduction to the generation, transmission, distribution and utilization of electric power, along with the electrical devices connected to such systems including generators, motors and transformers. Topics include: fundamentals of electromagnetic field theory, fundamentals of electric power, basic components of power systems, three-phase systems, transformers, electric machines, AC and DC motors, generators, power generation and distribution, power plants, transmission lines, and renewable energy systems. Prerequisite: ELEN 2425; MATH 3306 or concurrent registration.

ELEN 3314. Signals and Systems. 3 Credit Hours (Lecture: 3 Hours, Lab: 0 Hours). [WI]

Modeling and analysis of electrical and mechanical systems using Laplace transformation methods; transient and steady-state analysis; Fourier series; Fourier transform; elementary feedback. Prerequisites: ELEN 2425, MATH 3306 or concurrent registration.

ELEN 3320. Engineering Analysis Techniques. 3 Credit Hours (Lecture: 3 Hours, Lab: 2 Hours).

This course covers the applications and implementation of numerical algorithms commonly encountered in engineering and scientific analyses. Topics may include statistical analysis, analysis of linear and non-linear systems, optimization and linear programming, numerical differentiation and integration, and analysis of differential equations. Use of MATLAB (or other similar computational tools) for performing computational analysis and generating graphical interpretations of the results is also included. Prerequisite: MATH 3306 or concurrent enrollment and either MEEN 2212 or COSC 1310 Lab fee: $2.

ELEN 3332. Electromagnetic Field Theory. 3 Credit Hours (Lecture: 3 Hours, Lab: 0 Hours).

This course provides the background necessary to formulate and solve electromagnetic problems relevant to many fields of electrical engineering such as RF and microwave circuits, photonics, wireless networks, computers, bioengineering, and nanoelectronics. Topics include: static electric and magnetic fields; Maxwell’s equations in integral and differential forms; wave propagation; reflection and refraction of plane waves; transient and steady-state behavior of waves on transmission lines. Prerequisites: PHYS 2426; MATH 3306 and MATH 3433 or concurrent registrations.

ELEN 3360. Microwave Theory. 3 Credit Hours (Lecture: 3 Hours, Lab: 0 Hours).

This course covers the key concepts related to the analysis and design of microwave systems at the subsystem and component level. Topics include: waveguides and wave propagation on transmission lines, including stripline and microstrip structures; microwave network analysis; impedance matching techniques; analysis and design of microwave resonators; power dividers, couplers, and hybrids; microwave filters; noise and distortion in microwave circuits; an introduction to microwave system implementation. Prerequisites: ELEN 3314, 3445, and either ELEN 3332 or PHYS 3332.

ELEN 3443. Computer Architecture. 4 Credit Hours (Lecture: 3 Hours, Lab: 3 Hours).

Hardware and software structures found in modern digital computers. Digital circuits, instruction set architecture, hardwired design of the processor, assembly language programming, microprogramming, I/O and memory units, analysis of instruction usage, hardware complexity, and parallel computer architectures and programming. Credit for both ELEN 3443 and COSC 3443 will not be awarded. Prerequisite: COSC 1310 or COSC 2321 or COSC 2331. Lab fee: $2.

ELEN 3445. Electronics I. 4 Credit Hours (Lecture: 3 Hours, Lab: 3 Hours).

A first course in microelectronics intended to give students an introduction to the analysis and design of analog and digital integrated circuits. Topics include: semiconductor physics theory and operating principles of the p-n junction, MOS field effect transistor (MOSFET), and bipolar junction transistor (BJT); operational amplifiers; large- and small-signal equivalent circuit models of diodes, MOSFETs, and BJTs; single-transistor amplifier configurations; digital logic circuits. Prerequisite: ELEN 2425; ELEN 3314 or concurrent registration Lab fee: $2.

ELEN 4086. Special Problems. 1-4 Credit Hours (Lecture: 1-4 Hours, Lab: 1-4 Hours).

Directed study of selected topics in Electrical Engineering. May be repeated with approval of department head.

ELEN 4088. Undergraduate Research Project. 1-3 Credit Hours (Lecture: 1-3 Hours, Lab: 0 Hours).

Methods of research in electrical engineering through a research project directed by a departmental faculty member. The student is required to prepare a final report and presentation. No credit is earned until the final report and presentation are certified as completed by the faculty member directing the project. Prerequisites: Junior standing.

ELEN 4336. Solid State Physics. 3 Credit Hours (Lecture: 3 Hours, Lab: 0 Hours).

This course covers the basic principles required to understand the operation of solid-state devices with an emphasis on device physics. Semiconductor fundamentals including crystals and energy bands, charge carriers (electrons and holes), doping, and transport (drift and diffusion); basic concepts of generation-recombination and the P-N junction as capacitors and current rectifier; semiconductor device equations developed from fundamental concepts; P-N junction theory developed and applied to the analysis of devices such as varactors, bipolar transistors, and field-effect transistors. Prerequisites: ELEN 3445 and MATH 3306.

ELEN 4340. Digital VLSI Design. 3 Credit Hours (Lecture: 3 Hours, Lab: 0 Hours).

Introduces the key concepts to design CMOS VLSI digital integrated circuits. Topics include the basic physical operation and terminal characteristics of CMOS devices, CMOS fabrication highlights, the design of logic gates, static and dynamic digital circuits, timing, memory, and low-power techniques. A project will give students the opportunity to design a digital integrated circuit block from specifications by the use of computer-aided design tools. Prerequisite: ELEN 1212; ELEN 2425; ELEN 2448.

ELEN 4350. Communication Systems Theory. 3 Credit Hours (Lecture: 3 Hours, Lab: 0 Hours).

Introduction to the frequency and time domain; modulation; random signal theory; network analysis using nondeterministic signals; basic information theory; noise. Prerequisites: ELEN 3314 and ELEN 2425.

ELEN 4355. Digital Signal Processing. 3 Credit Hours (Lecture: 3 Hours, Lab: 0 Hours).

Introduction to discrete-time signal processing and discrete-time systems. Topics include: discrete-time linear systems, difference equations, z-transforms, discrete convolution, stability, discrete-time Fourier transforms, analog-to-digital and digital-to-analog conversion, digital filter design, discrete Fourier transforms and fast Fourier transforms, spectral analysis, and applications of digital signal processing. Prerequisite: ELEN 3314.

ELEN 4441. Microprocessor System Design. 4 Credit Hours (Lecture: 3 Hours, Lab: 3 Hours).

Introduction to microprocessors; 8/16 bit single board computer hardware and software designs; chip select equations for memory board design, serial and parallel I/O interfacing; ROM, static and dynamic RAM circuits for no wait-state design; assembly language programming, stack models, subroutines and I/O processing. Credit for both COSC 4441 and ELEN 4441 will not be awarded. Prerequisite: COSC 1310; ELEN 2448 or COSC 2448. Lab fee: $2.

ELEN 4443. Linear Control System Design. 4 Credit Hours (Lecture: 3 Hours, Lab: 3 Hours).

Application of state variable and frequency domain techniques to modeling and analysis of single input, single output linear control systems; physical implementation of control systems by integrating sensors, actuators and other control system components; use of software design tools. Prerequisite: ELEN 2425, MATH 3306, and either ELEN 3320 or COSC 3344. Lab fee $2.

ELEN 4446. Electronics II. 4 Credit Hours (Lecture: 3 Hours, Lab: 3 Hours).

A second course in microelectronics emphasizing the analysis and design of analog integrated circuits. Topics include: MOSFET and BJT fabrication technologies; current mirrors and biasing techniques; amplifier topologies; frequency response of analog integrated circuits; feedback, stability, and amplifier compensation techniques; output stages; noise in integrated circuits; linear integrated circuit applications. Prerequisites: ELEN 3445 and ELEN 3314 Lab fee: $2.

Dr. Mircea Agapie, Department Head
Department of Computer Science and Electrical Engineering
Box T-0390
Room ENGR 316
Stephenville, Texas United States 76402
254-968-9863
agapie@tarleton.edu
www.tarleton.edu/csee

Ms. Samantha Meeks, Administrative Assistant
Department of Computer Science and Electrical Engineering
Box T-0390
Room ENGR 210
Stephenville, Texas United States 76402
254-968-9863
smeeks@tarleton.edu
www.tarleton.edu/csee

Professors

  • Martinez, Denise Dr.
  • Agapie, Mircea Dr.

Associate professors

  • Abu Ghazaleh, Haitham Dr.
  • Wyers, Eric Dr.

Assistant professors

  • Diamantas, Sotirios Dr.
  • Gubbi Sadashiva, Thejas Dr.
  • Elgamal, Emad Dr.

Instructors

  • Zarza-Lopez, Luis Mr.
  • Welborn, Ethan Mr.