logo

logo

Undergraduate Admissions Information
Office of Undergraduate Admissions
Madonna University
36600 Schoolcraft Road
Livonia, Michigan 48150-1176
(734) 432-5339 or (800) 852-4951, ext. 5339
Fax (734) 432-5424
Email: admissions@madonna.edu

Computer Science Major: Assoc Sci | Computer Science Major: Bach Sci | Computer Science Minor | Computer Science Minor - Support | Computer Science Major - Support: Bach Sci
Print logo
Computer Science Major: Assoc Sci    
   Major Courses (30 cr. to be chosen)    
      CSC 2020   Web Design and Development 3 cr.  A comprehensive introduction to web design using the newest versions of HTML and CSS, web-based applications, social networking, web searching, and commercial web authoring software. This project-based course will culminate in students creating a professional commercially-ready website. 
      CSC 2080   Computer Science I 3 cr.  An introductory course in the field of computer science. Topics include fundamentals of computation and algorithmic problem solving, data types, procedures, control structures, arrays, and applications. Recommended as the first computer science course taken by students in mathematics and science, as well as by those wishing to concentrate in computer science. 
      CSC 2350   Web Programming 3 cr.  Students learn how to write server-side scripting programs using programming languages such as PHP and Perl. Using these languages, students will create dynamic web pages and write scripts to process HTML forms. Prerequisite: CSC 2080. 
      CSC 2450   Introduction to Mobile Applications Programming 3 cr.  Introductory concepts of mobile device programming, with emphasis on developing applications for mobile devices that run on the Android platform. Creation of both standalone programs and program suites for mobile marketplace commerce systems where applications can be deployed. Prerequisite: CSC 2080 or consent of department. 
      CSC 2480   Computer Science II 3 cr.  A continuation of Computer Science I. Emphasis placed on object-oriented programming, covering topics such as classes, objects, instances, inheritance, etc. Other topics include abstract data types, pointers, recursion, searching, and sorting. Prerequisite: CSC 2080. 
      CSC 3030   Operating Systems 3 cr.  Focuses on the major components of a computer operating system and the general operation of these components. Course concepts include: memory management, processor management, processes, communication and synchronization, shared resources, resource allocation, device management, file management, and security issues. Prerequisite: CSC 2080. 
      CSC 3050   Computer Architecture 3 cr.  Study of: digital logic circuits and their components, numeric and character data representation within computer memory, instruction formats and addressing modes, register transfer and micro-operations, micro-programmed control, the differences between CISC and RISC architectures, and pipelined and vector processing. Prerequisite: CSC 2080. 
      CSC 3280   Analysis of Algorithms 3 cr.  The study of data structures and their relationship to algorithms. Concepts include: algorithm and data abstraction, analysis of both iterative and recursive algorithms to determine time and space complexity, and various sorting, graph, and hashing algorithms. Students design programs to study algorithms and their application utilizing various data structures such as lists, queues, stacks, and trees. Prerequisite: CSC 2480. 
      CSC 3290   Programming Language Concepts 3 cr.  Focuses on the study of programming languages. Topics include the history of programming languages, virtual machines, the representation of data types, sequence and data control, type checking, memory management, programming language semantics, and parsing. Various current and historical programming languages are compared, including C++, Fortran, Pascal, Ada, Java, JavaScript, Python, Perl, PHP, and Lisp. Prerequisite: CSC 2080. 
      CSC 3330   Software Engineering 3 cr.  Overview of software engineering as a discipline. Topics include: software life cycle models, project management, requirements gathering and documentation, user interface design, system design and modeling, and software testing. Prerequisite: CSC 2080. 
      CSC 3350   Object-Oriented Programming 3 cr.  Focuses on developing programming applications using object-oriented programming languages such as C++ and Java. Basic programming concepts studied include: control structures, arrays, methods, strings, and objects. Advanced topics such as graphics, user interface components, exception handling, multithreading, multimedia, and streaming applications are also covered. Prerequisite: CSC 2480 
      CSC 3490   Artificial Intelligence 3 cr.  Introduction to a wide range of issues and methods in artificial intelligence. Topics covered include: reasoning and problem solving, heuristic search, game playing, knowledge representation, natural language processing, logic, and expert systems. Students are also introduced to the LISP programming language. Prerequisites: CSC 3290. 
      CSC 3550   Mobile Game Programming 3 cr.  Creating games for mobile platforms using a systematic approach, focused on games that run on the Android platform. Weaving in audio and video and consideration of factors such as user inputs involved in playing a game. Prerequisite: CSC 2450 or consent of department. 
      CSC 3910   Cooperative Education in Software 1 cr. (Not To Exceed 3 cr.)  Cooperative education experience with emphasis on computer programming or software engineering. Non-lecture based course designed to enable students to gain valuable on-the-job work experience. Prior to registration, student must obtain signature of advisor. Prerequisite: consent of advisor. May be repeated for credit. 
      CSC 4130   Language Theory 3 cr.  A study of regular languages, grammars and expressions, finite-state automata and their relationship to regular languages, context-free languages and grammars, and language recognition with stack machines and parsers. Course includes introduction to properties of formal languages, computability, undecidability, and computational complexity. Prerequisite: CSC 3290. 
Computer Science Major: Bach Sci    
   Major Courses (35 cr. to be chosen)    
      CSC 2080   Computer Science I 3 cr.  An introductory course in the field of computer science. Topics include fundamentals of computation and algorithmic problem solving, data types, procedures, control structures, arrays, and applications. Recommended as the first computer science course taken by students in mathematics and science, as well as by those wishing to concentrate in computer science. 
      CSC 2480   Computer Science II 3 cr.  A continuation of Computer Science I. Emphasis placed on object-oriented programming, covering topics such as classes, objects, instances, inheritance, etc. Other topics include abstract data types, pointers, recursion, searching, and sorting. Prerequisite: CSC 2080. 
      CSC 3030   Operating Systems 3 cr.  Focuses on the major components of a computer operating system and the general operation of these components. Course concepts include: memory management, processor management, processes, communication and synchronization, shared resources, resource allocation, device management, file management, and security issues. Prerequisite: CSC 2080. 
      CSC 3050   Computer Architecture 3 cr.  Study of: digital logic circuits and their components, numeric and character data representation within computer memory, instruction formats and addressing modes, register transfer and micro-operations, micro-programmed control, the differences between CISC and RISC architectures, and pipelined and vector processing. Prerequisite: CSC 2080. 
      CSC 3280   Analysis of Algorithms 3 cr.  The study of data structures and their relationship to algorithms. Concepts include: algorithm and data abstraction, analysis of both iterative and recursive algorithms to determine time and space complexity, and various sorting, graph, and hashing algorithms. Students design programs to study algorithms and their application utilizing various data structures such as lists, queues, stacks, and trees. Prerequisite: CSC 2480. 
      CSC 3290   Programming Language Concepts 3 cr.  Focuses on the study of programming languages. Topics include the history of programming languages, virtual machines, the representation of data types, sequence and data control, type checking, memory management, programming language semantics, and parsing. Various current and historical programming languages are compared, including C++, Fortran, Pascal, Ada, Java, JavaScript, Python, Perl, PHP, and Lisp. Prerequisite: CSC 2080. 
      CSC 3910   Cooperative Education in Software 1 cr. (Not To Exceed 3 cr.)  Cooperative education experience with emphasis on computer programming or software engineering. Non-lecture based course designed to enable students to gain valuable on-the-job work experience. Prior to registration, student must obtain signature of advisor. Prerequisite: consent of advisor. May be repeated for credit. 
      CSC 4850   Seminar: Computers and Society 2 cr.  A research and seminar course. Students are expected to do research, form opinions, and express and defend those opinions in classroom discussions on the various topics covered by the course. Topics include the study of the positive and negative impacts of computers in society related to areas such as the Internet, automation, robotics, artificial intelligence, computer crime, computer ethics, and computer professionalism. Prerequisites: Senior status and major in Computer Science. 
      Electives (12 cr. to be chosen)    
         CSC 2020   Web Design and Development 3 cr.  A comprehensive introduction to web design using the newest versions of HTML and CSS, web-based applications, social networking, web searching, and commercial web authoring software. This project-based course will culminate in students creating a professional commercially-ready website. 
         CSC 2350   Web Programming 3 cr.  Students learn how to write server-side scripting programs using programming languages such as PHP and Perl. Using these languages, students will create dynamic web pages and write scripts to process HTML forms. Prerequisite: CSC 2080. 
         CSC 2450   Introduction to Mobile Applications Programming 3 cr.  Introductory concepts of mobile device programming, with emphasis on developing applications for mobile devices that run on the Android platform. Creation of both standalone programs and program suites for mobile marketplace commerce systems where applications can be deployed. Prerequisite: CSC 2080 or consent of department. 
         CSC 3330   Software Engineering 3 cr.  Overview of software engineering as a discipline. Topics include: software life cycle models, project management, requirements gathering and documentation, user interface design, system design and modeling, and software testing. Prerequisite: CSC 2080. 
         CSC 3350   Object-Oriented Programming 3 cr.  Focuses on developing programming applications using object-oriented programming languages such as C++ and Java. Basic programming concepts studied include: control structures, arrays, methods, strings, and objects. Advanced topics such as graphics, user interface components, exception handling, multithreading, multimedia, and streaming applications are also covered. Prerequisite: CSC 2480 
         CSC 3490   Artificial Intelligence 3 cr.  Introduction to a wide range of issues and methods in artificial intelligence. Topics covered include: reasoning and problem solving, heuristic search, game playing, knowledge representation, natural language processing, logic, and expert systems. Students are also introduced to the LISP programming language. Prerequisites: CSC 3290. 
         CSC 3550   Mobile Game Programming 3 cr.  Creating games for mobile platforms using a systematic approach, focused on games that run on the Android platform. Weaving in audio and video and consideration of factors such as user inputs involved in playing a game. Prerequisite: CSC 2450 or consent of department. 
         CSC 4130   Language Theory 3 cr.  A study of regular languages, grammars and expressions, finite-state automata and their relationship to regular languages, context-free languages and grammars, and language recognition with stack machines and parsers. Course includes introduction to properties of formal languages, computability, undecidability, and computational complexity. Prerequisite: CSC 3290. 
Computer Science Minor    
   Minor Courses (21 cr. to be chosen)    
      CSC 2080   Computer Science I 3 cr.  An introductory course in the field of computer science. Topics include fundamentals of computation and algorithmic problem solving, data types, procedures, control structures, arrays, and applications. Recommended as the first computer science course taken by students in mathematics and science, as well as by those wishing to concentrate in computer science. 
      CSC 2480   Computer Science II 3 cr.  A continuation of Computer Science I. Emphasis placed on object-oriented programming, covering topics such as classes, objects, instances, inheritance, etc. Other topics include abstract data types, pointers, recursion, searching, and sorting. Prerequisite: CSC 2080. 
      CSC 3030/3050 Option (3 cr. to be chosen)    
         CSC 3030   Operating Systems 3 cr.  Focuses on the major components of a computer operating system and the general operation of these components. Course concepts include: memory management, processor management, processes, communication and synchronization, shared resources, resource allocation, device management, file management, and security issues. Prerequisite: CSC 2080. 
         CSC 3050   Computer Architecture 3 cr.  Study of: digital logic circuits and their components, numeric and character data representation within computer memory, instruction formats and addressing modes, register transfer and micro-operations, micro-programmed control, the differences between CISC and RISC architectures, and pipelined and vector processing. Prerequisite: CSC 2080. 
      Electives (12 cr. to be chosen)    
         CSC 2020   Web Design and Development 3 cr.  A comprehensive introduction to web design using the newest versions of HTML and CSS, web-based applications, social networking, web searching, and commercial web authoring software. This project-based course will culminate in students creating a professional commercially-ready website. 
         CSC 2350   Web Programming 3 cr.  Students learn how to write server-side scripting programs using programming languages such as PHP and Perl. Using these languages, students will create dynamic web pages and write scripts to process HTML forms. Prerequisite: CSC 2080. 
         CSC 2450   Introduction to Mobile Applications Programming 3 cr.  Introductory concepts of mobile device programming, with emphasis on developing applications for mobile devices that run on the Android platform. Creation of both standalone programs and program suites for mobile marketplace commerce systems where applications can be deployed. Prerequisite: CSC 2080 or consent of department. 
         CSC 3030   Operating Systems 3 cr.  Focuses on the major components of a computer operating system and the general operation of these components. Course concepts include: memory management, processor management, processes, communication and synchronization, shared resources, resource allocation, device management, file management, and security issues. Prerequisite: CSC 2080. 
         CSC 3050   Computer Architecture 3 cr.  Study of: digital logic circuits and their components, numeric and character data representation within computer memory, instruction formats and addressing modes, register transfer and micro-operations, micro-programmed control, the differences between CISC and RISC architectures, and pipelined and vector processing. Prerequisite: CSC 2080. 
         CSC 3290   Programming Language Concepts 3 cr.  Focuses on the study of programming languages. Topics include the history of programming languages, virtual machines, the representation of data types, sequence and data control, type checking, memory management, programming language semantics, and parsing. Various current and historical programming languages are compared, including C++, Fortran, Pascal, Ada, Java, JavaScript, Python, Perl, PHP, and Lisp. Prerequisite: CSC 2080. 
         CSC 3330   Software Engineering 3 cr.  Overview of software engineering as a discipline. Topics include: software life cycle models, project management, requirements gathering and documentation, user interface design, system design and modeling, and software testing. Prerequisite: CSC 2080. 
         CSC 3350   Object-Oriented Programming 3 cr.  Focuses on developing programming applications using object-oriented programming languages such as C++ and Java. Basic programming concepts studied include: control structures, arrays, methods, strings, and objects. Advanced topics such as graphics, user interface components, exception handling, multithreading, multimedia, and streaming applications are also covered. Prerequisite: CSC 2480 
         CSC 3490   Artificial Intelligence 3 cr.  Introduction to a wide range of issues and methods in artificial intelligence. Topics covered include: reasoning and problem solving, heuristic search, game playing, knowledge representation, natural language processing, logic, and expert systems. Students are also introduced to the LISP programming language. Prerequisites: CSC 3290. 
         CSC 3550   Mobile Game Programming 3 cr.  Creating games for mobile platforms using a systematic approach, focused on games that run on the Android platform. Weaving in audio and video and consideration of factors such as user inputs involved in playing a game. Prerequisite: CSC 2450 or consent of department. 
         CSC 3910   Cooperative Education in Software 1 cr. (Not To Exceed 3 cr.)  Cooperative education experience with emphasis on computer programming or software engineering. Non-lecture based course designed to enable students to gain valuable on-the-job work experience. Prior to registration, student must obtain signature of advisor. Prerequisite: consent of advisor. May be repeated for credit. 
         MTH 2510   Calculus with Analytic Geometry I 5 cr.  Topics include a study of limits, continuity, derivatives of algebraic and transcendental functions, applications of derivatives, integrals, and the Fundamental Theorem of Calculus. Prerequisite: MTH 1210 or departmental approval. Computer Science majors must complete this course with a grade of C (2.0) or better within the first 20 semester hours of their major. 
Computer Science Minor - Support    
   Support Course (3 cr. to be chosen)    
      MTH 2450   Discrete Mathematics 3 cr.  Mathematical logic, sets, functions, mathematical induction, recursion, combinatorics, probability, relations, graph theory, trees, and Boolean algebra. Prerequisite: MTH 1050. 
Computer Science Major - Support: Bach Sci    
   Support Courses    
      MTH 2450   Discrete Mathematics 3 cr.  Mathematical logic, sets, functions, mathematical induction, recursion, combinatorics, probability, relations, graph theory, trees, and Boolean algebra. Prerequisite: MTH 1050. 
      MTH 2510   Calculus with Analytic Geometry I 5 cr.  Topics include a study of limits, continuity, derivatives of algebraic and transcendental functions, applications of derivatives, integrals, and the Fundamental Theorem of Calculus. Prerequisite: MTH 1210 or departmental approval. Computer Science majors must complete this course with a grade of C (2.0) or better within the first 20 semester hours of their major. 
      MTH 2520   Calculus with Analytic Geometry II 4 cr.  Topics include a study of methods of integration, applications of integrals, sequences, series and power series, parametric curves, and polar coordinates. Prerequisite: MTH 2510. Computer Science majors must complete this course with a grade of C (2.0) or better within the first 20 semester hours of their major. 
Print logo