ITCS Computer Science (ITCS)

ITCS 1010 Programming Logic 3 Credits

Prerequisite: ITIS 1005 or ITIS 1007, a grade of "SC" or better in MATH 0850 or placement test; or permission of instructor, This course provides an introduction to problem-solving techniques, the steps of the program development cycle, and fundamental skills needed for programming in any computer language.

Students will develop logic plans and create programs using core programming instructions to solve a variety of problems and will use one or more programming languages to gain experience with the complete program development process. The course includes an introduction to object-oriented and event-driven programming, and to the IDE (Integrated Development Environment).

(4.5 contact hours: 1.5 lecture, 3 lab)

ITCS 1105 Web Programming I 3 Credits

Prerequisite: GRDS 1375 or ITCS 1010 and ITIS 1100; or permission of instructor.

This course provides introductory and intermediate techniques using the current version of HTML (Hypertext Markup Language) to create and manage web pages. Students will explore ways of presenting text, data, and graphics in a browser based environment. Students will explore the use of several HTML editing tools to aid in site management.

(4.5 contact hours: 1.5 lecture, 3 lab)

ITCS 1820 Java Programming I 3 Credits

Prerequisite: ITCS 1010 or permission of instructor.

This course provides an introduction to application development, object-oriented programming, and the Java development system. Students will write object-oriented Java applications and applets using methods, variables, operators, strings, arrays, loops, selection statements, classes, inheritance, and encapsulation.

(5 contact hours: 1 lecture, 4 lab)

ITCS 1825 Programming I for iOS 3 Credits

Prerequisite: ITCS 1010 or permission of instructor.

This course introduces students to Apple's current development language and object-oriented programming concepts. Students will write programs using classes, methods, input/output, inheritance, and polymorphism for the iPhone/iPad.

(5 contact hours: 1 lecture, 4 lab)

ITCS 1870 Python Programming I 3 Credits

Prerequisite: ITCS 1010, ITON 1070 or GEOG 2700; or permission of instructor.

This course introduces students to the Python programming language. Students will write procedural and object-oriented applications. Student programs will include arithmetic operations, strings, functions, decisions and loops, and object-oriented constructs. (5 contact hours: 1 lecture, 4 lab)

(5 contact hours: 1 lecture, 4 lab)

ITCS 1880 R Programming I 3 Credits

Prerequisite: ITCS 1010, ITDB 1400, ITIS 1520, MATH 1550 or MATH 2135; or permission of instructor.

This course introduces students to the R programming language. Students will write procedural and object-oriented applications. Student programs will include arithmetic/statistical operations, strings, functions, decisions and loops, and object-oriented constructs. Students will read data into R, access packages, profile code, and present meaningful output of results.

(4 contact hours: 1 lecture, 3 lab)

ITCS 2010 Systems Analysis 3 Credits

Prerequisite: ENGL 1120 or ENGL 1121, ITCS 1010, ITIS 1115 (can be taken concurrently) or ITON 1205 (can be taken concurrently) or CNET 1100 (can be taken concurrently); or permission of instructor.

This course provides an in-depth experience of the business information systems development process, with emphasis on the investigation, analysis, and design phases. Students will study the role of the systems analyst, examine and apply tools used for system design, and, through participation in a team project and presentation, gain experience with the design of a business information system.

(4 contact hours: 2.5 lecture, 1.5 lab)

ITCS 2012 Discrete Structures 3 Credits

Prerequisite: MATH 1650 or higher, CPET 1120 or ITCS 1825 or ITCS 1820 or ITCS 1870; or permission of instructor.

This course provides an introduction to the foundations of discrete mathematics as they apply to computer science, and focuses on providing a solid theoretical foundation for further work. Topics include logic, set algebra, equivalence relations and partitions, functions, mathematical induction, cardinality, recurrence relations, basic combinatorial methods, and trees and graphs; with an emphasis on applications in computer science.

(3 contact hours)

ITCS 2080 Fundamentals of Software Engineering 3 Credits

Prerequisite: ITCS 1820 or ITCS 1825 or ITCS 1870; or permission of instructor.

This course introduces the basic principles and concepts of software engineering and provides the necessary foundation for subsequent SE courses at the upper division level. Topics include: basic terminology and concepts of software engineering; system requirements, modeling, and testing; object oriented analysis and design using UML; frameworks and APIs; client-server architecture; user interface technology; and the analysis, design, and programming of simple servers and clients.

(4 contact hours: 2.5 lecture, 1.5 lab)

ITCS 2105 Web Programming II 3 Credits

Prerequisite: ITCS 1105, ITCS 1820, ITCS 2120 (can be taken concurrently); or permission of instructor.

This course introduces intermediate and advanced techniques using various markup languages for the Internet in a microcomputer environment. Students will use previously mastered procedural and object-oriented techniques and concepts to develop complex programs using intermediate XHTML, CSS, XML, Internet programming languages, and other advanced techniques as the languages and protocols evolve. Students will also learn the vocabulary and process of group based code and user interface review. Students who have taken the prerequisite courses more than two years prior to attempting this course may wish to retake those courses before attempting ITCS 2105 to ensure current knowledge of the information and the profession.

(5 contact hours: 1 lecture, 4 lab)

ITCS 2120 JavaScript Programming I 3 Credits

Prerequisite: ITCS 1820 or ITCS 1825 or ITCS 1870, ITCS 1105; or permission of instructor.

This course introduces JavaScript programming in a hands-on microcomputer environment. JavaScript programming is used extensively in web page design to allow information to be processed on a web page before being sent to a web server for processing. Students will also learn the vocabulary and process of group based code and user interface review. Students who have taken the prerequisite courses more than two years prior to attempting this course may wish to retake those courses before attempting ITCS 2120 to ensure current knowledge of the information and the profession.

(4.5 contact hours: 1.5 lecture, 3 lab)

ITCS 2170 Introduction to ASP.NET 2 Credits

Prerequisite: ITCS 1010, ITCS 1105, ITDB 1400; or permission of instructor.

This course introduces ASP.NET programming for the Internet in a microcomputer environment. Students will study intermediate HTML, Web scripting, and other advanced techniques to create dynamic Web applications using server-side technology with ASP.NET.

(3.25 contact hours: 0.75 lecture, 2.5 lab)

ITCS 2820 Java/Android Programming II 3 Credits

Prerequisite: ITCS 1820, ITDB 1400 (can be taken concurrently) or ITDB 1430 (can be taken concurrently); or permission of instructor.

This course provides advanced instruction in current standard Java program development methodologies and object-oriented programming with an emphasis on mobile application development. Students will use mobile class libraries and J2ME (Java 2 Micro Edition) to create applications for mobile devices.

(5 contact hours: 1 lecture, 4 lab)

ITCS 2821 Java/Android Programming III 2 Credits

Prerequisite: ITCS 2820.

This course provides advanced instruction in Android's current development environment with an emphasis on designing, creating and publishing professional Android mobile applications.

(3.5 contact hours: 0.5 lecture, 3 lab)

ITCS 2825 Programming II for iOS 3 Credits

Prerequisite: ITCS 1825, ITDB 1400 (can be taken concurrently) or ITDB 1430 (can be taken concurrently; or permission of instructor.

This course provides advanced instruction in Apple's current development language methodologies and object-oriented programming with an emphasis on mobile application development. Students will use mobile class libraries and the Apple Coco class library to create applications for mobile devices.

(5 contact hours: 1 lecture, 4 lab)

ITCS 2826 Programming III for iOS 2 Credits

Prerequisite: ITCS 2825.

This course provides advanced instruction in Apple's current development environment with an emphasis on designing, creating and publishing professional iOS mobile applications.

(3.5 contact hours: 0.5 lecture, 3 lab)

ITCS 2848 .NET Programming 3 Credits

Prerequisite: ITCS 1820 or ITCS 1825 or permission of instructor.

This course provides advanced instruction in application development for the .NET programming environment. Students will apply previously acquired programming knowledge from prerequisite programming classes to enhance object-oriented programming expertise. Students will learn various skills, including the Visual Studio Integrated Development Environment, reflection, threading, regular expressions, database connectivity, web application, and more to create professional applications.

(5 contact hours: 1 lecture, 4 lab)

ITCS 2870 Data Structures 4 Credits

Prerequisite: CPET 1120, ITCS 1870, MATH 2500; or permission of instructor.

This traditional computer science course introduces students to advanced data structure concepts including objects and inheritance, algorithm analysis, recursion, stacks, queues, lists, randomization, trees, sorting and searching, hash tables, and graphs and paths.

(6 contact hours: 2 lecture, 4 lab)

ITCS 2875 Computer Architecture and Organization 3 Credits

Prerequisite: ITCS 2870, ITON 1011, MATH 2500; or permission of instructor.

This course provides a study of the principles of Von Neumann computer architecture, data representation, and memory addressing as well as processor organization and its impact on system and application software. It also includes discussion and utilization of assembly language and computer processor simulators.

(5 contact hours: 1 lecture, 4 lab)

ITCS 2900 Special Topics in Information Technology/Computer Science 1-4 Credits

These specialized courses provide in-depth examinations of Information Technology Computer Science/Programming topics not covered in detail elsewhere in the curriculum.

(1-4 contact hours)