Skip Navigation
Angelo State University
Department of Computer Science

Search Site

Information for:

Computer Science gaming graphic

Computer Science Courses (CS)

See Course & Instructor Information for current offerings and syllabus listings.

  • 1191 Freshman Research I. Freshman research for students selected for a freshman research grant. This course satisfies the first semester of that research requirement.
    Prerequisite: Approval from department chair is required prior to enrollment.

    1301/COSC 1301 Computer Literacy (3-0). Overview of concepts, terminologies, hardware and software used in computing and networking.

    1314 Introduction to Programming and Problem Solving (3-0). Basic competency in computer programming, ability to solve problems by writing computer programs, knowledge of the Python language and an introductory knowledge of object-oriented programming.

    1315/COSC 1315 Fundamentals of Programming (3-0). Introductory computer programming techniques using a modern, object-oriented programming language.

    1336/COSC 1336 Computer Science I (3-0). The concepts and properties of algorithms for solving numerical and non-numerical problems. Introduction to computer and programming systems, including the development, debugging, and verification of programs, representation of data, computer characteristics and organization.

    1337/COSC 1337 Computer Science II (3-0). Continuation of Computer Science 1336. Problem solving and program development techniques emphasizing modular design. Includes advanced programming topics such as class design, records, strings, pointers, and bit manipulation.
    Prerequisite: Computer Science 1336.

    1351 Java Programming (3-0). Programming concepts and development in the Java language.

    1371 Introduction to Computer Game Development (3-0). An introduction to computer game development. Topics include the history of game development, player motivation, game elements, storytelling, characters, game play, level design, interface design, audio, project management, production, marketing and maintenance.

    1391 Freshman Research II. Freshman research for students selected for a freshman research grant. This course satisfies the second semester of that research requirement.
    Prerequisite: Approval from department chair is required prior to enrollment.

    2336/COSC 2336 Data Structures and Algorithms (3-0). Study of basic data structures and their applications such as: linear structures (arrays, lists, stacks, queues) and non-linear structures (trees, graphs); sequential and linked storage representation methods; sorting and searching algorithms; and techniques of algorithmic analysis.
    Prerequisite: Computer Science 1337.

    2324 3D Modeling and Animation I (3-0). Introduction to three-dimensional (3D) modeling and animation utilizing industry standard software. The course includes the modeling and modification of 3D geometric shapes, as well as introduction to camera techniques, light sources, textures, rigging, weight-mapping models and rendering for animation.

    3304 Computer Organization and Programming (3-0). Basic computer organization with emphasis on machine representation of data and instructions; programming in assembly and machine-oriented languages for real and simulated computers.
    Prerequisite: Computer Science 1337.

    3310 Principles of Unix (3-0). This course will introduce the students to UNIX and systems programming. Students will use a Linux environment to learn user and administrative commands, create scripts using shell scripting languages, and program using C language, implementing UNIX concepts such as processes, inter-process communication and sockets.
    Prerequisite: Computer Science 1337.

    3311 Data Base Management (3-0). Basic data base concepts, organization, and definitions; data description languages; relational data base concepts and examples; comparison of data base systems.
    Prerequisite: Computer Science 1337.

    3312 Web Programming (3-0). Techniques for creating dynamic and responsive web pages using the latest markup, styling and client-side scripting technologies. Best practices for code maintainability and for browser and mobile compatibility will be emphasized.
    Prerequisite: Computer Science 1351 or 1336 or instructor’s permission.

    3325 3D Modeling and Animation II (3-0). Intermediate methods for three-dimensional (3D) modeling and animation, including spline drawing, dynamic object emitters, surface mapping, skelegons, inverse kinematics, and extended lighting, texturing, and camera techniques.
    Prerequisite: Computer Science 2324.

    3331 Programming Languages (3-0). An introduction to the syntax and semantics of programming languages. Actual programming languages may be used to illustrate the language concepts.
    Prerequisite: Computer Science 2336.

    3344 Computer Architecture (3-0). Study of the hardware components of a computer system and survey of various computer architectures. Topics may include instruction set design, computer arithmetic, and microprogramming.
    Prerequisite: Computer Science 3304.

    3352 Theory of Algorithms (3-0). An in-depth study of computer algorithms, including those for hash tables, trees and graphs; analysis of time and space requirements of algorithms; NP-completeness and undecidability of problems.
    Prerequisite: Computer Science 2336.
    Prerequisite or Corequisite: Mathematics 2305

    3371 Computer Game Development I (3-0). Introduction to the design and implementation of computer games, including realtime graphics, audio and interactive multimedia programming techniques.
    Prerequisite: Computer Science 2336.

    3372 Handheld Game Development (3-0). Computer game development for one or more handheld computing devices. Programming topics include graphics, audio, user interfaces and development tools. Other topics may include content creation, developer workflow, hardware acceleration, and power management.
    Prerequisite: Computer Science 2336.

    4071 Internship: 1 to 3. Supervised internship with an approved cooperating business or government entity. The internship requires a minimum of ten hours per week. May be repeated for a total of three credits.
    Prerequisites: Junior or Senior Computer Science major. Approval from the department chair is required prior to enrollment.

    4091 Research: 1 to 6. Supervised research with a faculty member for students majoring in computer science. May be repeated for a total of six credits.
    Prerequisites: Junior or Senior Computer Science major. Approval from the department chair is required prior to enrollment.

    4301 Algorithmic Languages and Compilers (3-0). Formal description of algorithmic languages, compilation techniques, syntactic analysis, code generation, storage allocation, syntax-directed compilers, compiler-building systems.
    Prerequisites: Computer Science 2336, 3304.

    4302 Operating Systems (3-0). A study of the design and implementation of operating systems; analysis of system resource management, including the memory, processor, device, and information management functions.
    Prerequisites: Computer Science 2336, 3304.

    4306 Software Engineering (3-0). Introduction to the fundamental concepts of computer software development; programming methodology; software reliability; performance and design evaluations, software project management; program development languages, tools and standards.
    Prerequisites: Senior standing and Computer Science 2336.

    4307 Ethical Issues in Computing (3-0). Seminar style with discussion of the concern for the way in which computers pose new ethical questions or pose new versions of standard moral problems and dilemmas; study of ethical concepts to guide the computer professional; and computer professional codes of ethics. Case studies will be used to relate to ethical theory. Discussion will include ethical and legal use of software and conflicts of interest.
    Prerequisite: Junior standing.

    4308 Computer Graphics (3-0). Study of hardware and software found in graphics systems. Topics such as line and curve drawing, text generation, transformation methods for two and three dimensional systems, fill algorithms, fractal curves and hiddenline algorithms.
    Prerequisites: Computer Science 2336 and Mathematics 2312.

    4311 Web Database Design (3-0). Basics of web databases; understanding of web database design concepts; development of working web database using software and software tools readily available on the Internet.
    Prerequisites: Computer Science 2336, 3311.

    4312 Internet Technologies (3-0). Technologies that make up the Internet including servers, clients, protocols, browsers and mechanisms for executable content.
    Prerequisite: Computer Science 2336.

    4314 Computer Networking (3-0). Introduction to the principles and basic concepts of computer networking, including the Internet. Networking concepts, protocols and technologies are broken down into layers.

    4316 Visual Programming (3-0). Programming in and for a visual or GUI environment. Event-driven objects including mouse and window events.
    Prerequisite: Computer Science 1315.

    4318 Artificial Intelligence (3-0). Fundamental concepts and techniques of intelligent systems; representation and interpretation of knowledge on a computer; search strategies and control.
    Prerequisites: Senior standing and Computer Science 2336.

    4320 Introduction to Computer and Network Security (3-0). In-depth look at the security risks and threats to an organization’s electronic assets, and an overview of components used in an enterprise security infrastructure. Topics will include theoretical background as well as practical techniques to secure an enterprise network.
    Prerequisite: Computer Science 4314.

    4330 Introduction to Data Science (3-0). Utilize tools and writing programs for acquiring, cleaning, analyzing, exploring, and visualizing data; making data-driven inferences and decisions; and effectively communicating results. Learning data manipulation, data analysis with statistics and machine learning, data communication with information visualization, working with big data using scalable techniques.
    Prerequisite: Computer Science 2336.

    4340 Offensive Security Techniques (3-0). This course will introduce cybersecurity practices of penetration testing and malware analysis. In virtual machine environments, the students will freely but safely exploit system vulnerabilities by deploying offensive security techniques, such as reconnaissance and backdoor, and determine how to avoid such problems.
    Prerequisites: Computer Science 3310, 4314, 4320.

    4371 Computer Game Development II (3-0). Continuation of Computer Science 3371. Advanced game programming techniques, including designing game mechanics, concepts of emergence and progression, and the use of visual design tools.
    Prerequisite: Computer Science 3371.

    4381 Special Topics in Computer Science (3-0). Contemporary applications and theory in computer science. (May be repeated once for credit when the topics vary.)

Game Development Sequence

Students electing an emphasis in game development take the following courses:

  • 1371 Introduction to Computer Game Development
  • 3371 Computer Game Development I
  • 3372 Handheld Game Development
  • 4318 Artificial Intelligence
  • 4371 Computer Game Development II

Earlier Course Descriptions

For a list of course descriptions prior to fall 2008, contact the computer science program.

ASU Logo