|
|||
|
Home
>> Course Descriptions
>> Undergraduate Course Descriptions
Undergraduate Course
Descriptions 100 Level
COSC 101 Computer Science Concepts and Practical Applications (3 hrs) The course emphasizes the uses and capabilities of computers in our society. Students will be exposed to several popular applications through hands-on lab activities. No previous experience with computers is assumed. Counts towards the computer science minor if taken prior or concurrently with COSC 111 Introduction to Programming. Prereq: None. COSC 105 Everyday Computing and Social Responsibility (3 hrs) Two hours lecture/discussion, two hours lab. This course combines extensive exploration of ethical issues faced by everyday computer users with hands-on practice using a broad variety of online and computer productivity tools to support socially responsible computer use. Prereq: None. COSC 111 Introduction to Programming(3 hrs) An introduction to computers, programming, algorithm development and a high-level language such as Java. In particular, strategies for problem solving, problem analysis, algorithm representation and algorithm verification are balanced with actual program development using good design and documentation techniques. The first course in the computer science curriculum, major and minor, but open to all students. Prereq: MATH 104. COSC 145 Introduction to FORTRAN Programming (3 hrs) An introductory course for persons wishing to learn programming and applications of computers. Using the FORTRAN language, students develop and run programs to solve a variety of problems. Credit will not be given for more than one of COSC 145 and COSC 245. Does not count towards the computer science major or minor. Prereq: Minimum ACT score of 19 or Minimum SAT score of 520 or
math placement test in elementary algebra greater than or equal to 53. COSC 146 Applied Programming (3 hrs) Introduction to computer programming for the non-major. Introduces students to integrated development environments such as Visual Basic and other application tools. Students work in a combination of lectures and supervised computer labs. Does not count towards the computer science minor, major or curriculum. Prereq: None. COSC 161 Explorations in Robotics (3 hrs) Introduction to the theory of robotics and autonomous agents. Students will be exposed to technical and social aspects of robots in society. Students will complete selected readings, write several short papers, and design and program simple robots. Rudiments of computer science topics as applied to robotics will be covered. Prereq: None. COSC 177/178/179 Special Topics (1/2/3 hrs) An exploration and study of topics not covered in other departmental offerings. Students may elect more than one, provided different topics are studied. Prereq: None. 200 Level
COSC 201 Computer Visualization and Multimedia (3 hrs) This course concentrates on concepts of computer viualization/presentation of information. The focus will be on the Internet and using multimedia. It will encourage hands-on problem solving using various applications programs. Each student will do a semester project of their choice. Prereq: COSC 101 or department permission. COSC 205 Computer Hardware and Software Systems (3 hrs) An applied introduction to computers including: computer hardware, operating systems, web design, networking, trouble shooting and maintenance of computers. Lab projects include: Taking apart computers, installing operating systems, building a network, and creating a web page. Prereq: CADM 105 and COSC 101. COSC 211 Programming Data Structures (3 hrs) The second course in an introductory sequence for the computer science major, minor and others. Continues software engineering methodology through specification, design, coding, and program correctness. Nested procedures and functions, scope and recursion. Introduction to data structures such as stacks, queues, linear lists, trees, sets, and files. Analysis of sorting and searching algorithms. Prereq: COSC 111. COSC 221 Computer Organization I (3 hrs) Introduces students to basic concepts of computer hardware and organization including: computer structure, machine language, instruction execution, traps and interrupts, digital representation of data, computer systems organization, elementary digital circuits, including memory and arithmetical. Students will write several programs in an assembly language simulator. Prereq: COSC
111, COSC 145, COSC 245 or IS 219 or permission of the School of Engineering Technology. COSC 231 Internet-based Computing (3 hrs) Programming for the Internet, including GUI design and development, event-driven programming, web page design and construction, programming for current Internet and Web technologies. Ethical issues on the Internet. Prereq: COSC 111. Coreq: COSC 211. COSC 245 Computer Programming and Numeric Methods (3 hrs) An introductory programming course focusing on numerical algorithms fundamental to scientific computer work. Discussion of polynomial interpolation, numerical integration, solutions of systems of equations, and error analysis. Using the FORTRAN language, students develop and run programs to solve a variety of problems. Credit will not be given for more than one of COSC 145 and COSC 245. Does not count towards the computer science major or minor. Prereq or Coreq:
MATH 121. COSC 246 Programming
in C++ (3
hrs) Introduction to computers, programming techniques and integrated development environments using C and C++. Students work in a combination of lectures and supervised computer labs. Emphasis is on problem solving using good design principles and documentation techniques. Does not count towards the computer science minor, major or curriculum. Prereq:
COSC 101 or COSC 111 or COSC 145 or COSC 146 or MATH 105 or
MATH 107 or MATH 118 or MATH 119 or MATH 120 or a minimum ACT
score of 26 or a minimum SAT score of 640 or math placement test
in elementary algebra greater than or equal to 73. COSC 277/278/279 Special
Topics (1/2/3 hrs) A 200-level course in a specific area of computer science, to be determined by the field of specialization of the instructor and the interest of the students. Prereq: None. 300 Level
COSC 303 Applications
in Computer Science (3
hrs) Information systems, simulation, graphics, audio communication, artificial intelligence, instruction and training, and communications. The student will write or use previously written programs in each of the above areas using microcomputers. These programs will use many languages and programs including LOGO, PASCAL, BASIC, electronic spreadsheet and a database program. Prereq: COSC
101, COSC 211, and junior standing. COSC 306 Methods of
Teaching Computer Science in Secondary Schools (3 hrs)
Computer science programs in the high school, information and materials needed to prepare students for the teaching of computer science in these schools. Organization and content, methods of teaching and learning, security and maintenance of equipment, professional journals and magazines available for future growth, copying software and the legality of software duplication, dealing with diversity of abilities, problem-solving skills, and strategies for debugging programs. This methods class does not count toward the major or minor. Prereq: COSC 342,
CURR 305, and admission to the teacher education program. COSC 311 Algorithms
and Data Structures (3
hrs) Linear lists, strings, arrays, and orthogonal lists. Representation of trees and graphs. Storage systems, structures, storage allocation and collection. Symbol tables, searching and sorting techniques. Formal specification of data structures and data management systems. Prereq: COSC
211 and COSC 221.
COSC 314 Computational Discrete Structures (3 hrs) Relations and algebraic structures, counting techniques, graphs, automata and languages, and number theoretical algorithms. This course emphasizes discrete mathematical algorithms, their applications to problems in computer science, and their implementation. Prereq: COSC
211 and MATH 205.
COSC 315 Symbolic Computing (3
hrs) Symbolic computations and graphic representations in a computer algebra system such as Mathematica; design of interactive notebooks; extensive use of electronic communications; applications from various areas of computer science, mathematics and the natural sciences; oral presentation of a project in an electronic classroom is required; lectures (two hours) and supervised lab (two hours). Prereq: COSC
111 and MATH 122 or minimum ACT score of 28 or minimum SAT score
of 670 or math placement test in college level math greater than or equal to 93.
COSC 321 Computer Organization
II (3 hrs) Basic digital circuits, data representation and transfer, digital arithmetic. Digital storage and accessing, control functions, input-output facilities, systems organization, reliability, simulation techniques. Multiprogramming, multiprocessing and real-time systems. Prereq: COSC
211 and COSC 221. COSC 341 Programming
Languages (3 hrs) Formal definition of programming languages; structure of simple statements; global properties of algorithmic languages; data description; run-time representation of programs; procedural languages such as C and C++, non-procedural languages such as Lisp or Prolog. Credit will not be given for both COSC 341 and COSC 342. Prereq: COSC
211 and COSC 221. COSC 342 Programming Languages for Educators (3 hrs) Formal definition of programming languages; structure of simple statements; global properties of algorithmic languages; structure of list processing, string manipulation, data description and simulation languages; run-time representation of program and data structures. Special emphasis will be placed on education-oriented languages. Credit will not be given for both COSC 341 and COSC 342. Prereq: COSC 211 and COSC 221.
COSC 374 Applied Cryptography (3 hrs) An introduction to and survey of cryptographic techniques and algorithms. Classical techniques(rotation, transpotation), block ciphers(DES, AES), stream ciphers and random sequences, hash functions(SHA), key management, public key algorithms(RSA), digital signiture, authentication. Example implementation such as PGP, SSL, and Kerbos. Prereq: MATH 170 and COSC 211. COSC 377/378/379 Special
Topics (1/2/3 hrs) Covers topics not considered in other courses when the immediate needs of the field, interests of the students, and expertise of the faculty coincide. Prereq: COSC
211, COSC 221, and department permission. COSC 388 Cooperative
Education in Computer Science (3 hrs)
Four to six months of full-time employment at an industrial firm specially chosen to provide practical experience in computer science. The program consists of two work experiences (COSC 388 and COSC 488) alternating with full-time attendance at the University. Use on computer science major subject to department permission. Graded on a credit/no credit basis. Prereq: Junior
or senior majoring in computer science, any 300-level course
in computer science, admittance to program by application, department
permission. 400 Level
COSC 403 Seminar and
Project Design for Educators (3 hrs) Major project design and more formalized, structured programming. Each student will work on two original major programs, one of which will be a group project. The student will report on both projects (written and oral) and give a formal presentation of the individual project to the University community in the form of a public lecture. Prereq: COSC
311, COSC 342, and senior standing. COSC 405 Switching
Theory (3
hrs) Switching algebra, gate network and sequential circuit analysis and synthesis. Boolean algebra, sequential circuit state and combinational circuit minimization, hazards and races, elementary number systems and codes. Prereq: COSC
211 and COSC 221; open to juniors and seniors only. COSC 421 Systems Programming (3
hrs) Batch-process systems programs, components and operating characteristics. Implementation techniques for parallel processing and interrupt handling. Overall structure of multiprogramming systems. Addressing techniques, file system design and management. Interprocess communication, design of system modules and interfaces. Prereq: COSC
221, COSC 311, and COSC 341. COSC 422 Introduction
to Microprocessors (3
hrs) The fundamentals of small-system software development as it applies to microprocessors and minicomputers. Introduction to microprocessors and peripheral hardware; software and software development; applications. Students will have access to both microcomputers and a minicomputer to gain first-hand knowledge of this field. Prereq: COSC
221 or department permission. COSC 423 Computer Operating
Systems (3 hrs) Computer operating systems functions and concepts. Processor allocation: multiprogramming and scheduling algorithms. Memory tasks and data management. The deadlock problem. Virtual memory, allocation strategies and analysis of their algorithms. Design, implementation and protection of I/O files. Survey of available computer operating systems. Prereq: COSC
221 and COSC 311. COSC 436 Web Programming (3 hrs) Students will learn how to set up and configure a web server and associated services. Topics covered will include: CGI, JavaScript, web security tools, server-side programming multi-file applets, data description languages, database connectivity, scripting languages and distributed applications. Exposure to security and efficiency issues. Prereq: COSC
231, COSC 311 and COSC 341. COSC 439 Computing
Network Principles (3 hrs) The basic concepts of computer communication systems with particular emphasis on communication hardware and microcomputer networks. Students will be involved in the development and writing of software components of communications such as terminal emulators and file transfer packages. Basic communication theory and terminology, communication hardware devices, communication protocols, and microcomputer networks. Prereq: COSC
221 and COSC 311; COSC 314 recommended. COSC 444 Foundations
of Automata and Languages (3 hrs) A review of finite automata. A rigorous treatment of regular languages including closure properties and the Pumping Lemma. An investigation of context-free languages, context-free grammars, simplification of grammars, normal forms and related topics. Turing machines and the Halting Problem. Applications to lexical analysis. Prereq: COSC
311 and COSC 314. COSC 445 Compiler Construction (3 hrs) Review of programming language structures, translation, loading, execution and storage allocation. Compilation of simple statements. Organization and overall design of a compiler. Use of compiler writing languages. Prereq: COSC 341
and COSC 444. COSC 456 Computer
Graphics (3 hrs) An in-depth exploration of fundamental concepts of 2D and 3D computer graphics. Topics include: geometric transformations, lighting and shading models, texture mapping, animation, solid modeling, ray-tracing, hidden-surface removal and the use of graphics in visualization and computer gaming. Course is project-oriented, including interactive, 3D animations. Prereq: COSC
311 and MATH 205 COSC 461 Heuristic
Programming (3 hrs) Programming techniques for problems with large-state spaces or uncertain knowledge: searches, heuristic evaluation, rule-based inference, approximate reasoning and adaptation using neural nets, genetic algorithms and reinforcement learning. Prereq: COSC
444. COSC 471 Database Principles (3 hrs) A technical review of the theory and principles of database design and organization. The concepts and structures necessary to design and implement a database management system. Network, hierarchical and relational database models. Data normalization, data description languages, query languages, data integrity and security. Prereq: COSC
341 and COSC 444. COSC 477/478/479 Special
Topics (1/2/3 hrs) Covers topics not considered in other courses when the immediate needs of the field, interests of the students, and expertise of the faculty coincide. Prereq: Senior
standing, major in computer science, and department permission. COSC 481 Software Engineering
and Senior Project (3 hrs) This capstone course surveys the fundamentals of software engineering, including requirements analysis, design, disciplined implementation, and evaluation. Students will work on a semester long software project that employs principles learned in other computer science classes. Prereq: COSC
311 and department permission. COSC 486/487/488 Cooperative
Education in Computer Science (1/2/3 hrs)
Four to six months of full-time employment at an industrial firm specially chosen to provide practical experience in computer science. The program consists of two work experiences (COSC 388 and COSC 488) alternating with full-time attendance at the University. Use on computer science major subject to department permission. Graded on a credit/no credit basis. Prereq: COSC
388 and department permission. COSC 493 Senior Project (1 hr) Intended for computer science majors in their senior year, this course assesses students’ knowledge of the field’s core subjects, surveys students to get reactions to and suggestions for the department’s academic program, and provides guidance to students as they carry out a computing project and present it in a public forum as a poster presentation or talk. Offered on a credit/no credit basis. Prereq: COSC 311, COSC 321, COSC 341, COSC
444, senior standing or department permission. COSC 497/498/499 Independent
Study (1/2/3 hrs) A report or project on an approved subject in the field of computer science under the guidance of the staff of the Department of Computer Science. Prereq: Major
in computer science, junior or senior standing, and department
permission. |
|||||||||||||||||||||||||||||||||||||||||||||||||||