Engineering and Computer Science Course Descriptions

ECS 1337 (COSC 1337) Computer Science I (3 semester hours) Introduction to object-oriented software analysis, design, and development. Classes and objects. Object composition and polymorphism. Sorting, searching, recursion. Strings using core classes. Inheritance and interfaces. Graphical User Interfaces. Includes a comprehensive programming project. Prerequisite: CS 1336 with a grade of C or better or equivalent. (3-0) S

ECS 2305 (MATH 2305) Discrete Mathematics for Computing I (3 semester hours) Principles of counting. Boolean operations. Logic and methods of proof. Sets, relations, functions. Recurrence relations. Elementary graph theory. Students who have taken CE/TE 3307 cannot receive credit for this course. Prerequisite: MATH 1326, MATH 2413 or MATH 2417. (3-0) S

ECS 2336 (COSC 2336) Computer Science II (3 semester hours) Exceptions and number formatting. File input/output using Stream classes. Implementation of primitive data structures, including linked lists (all types), stacks, queues, and binary trees. Advanced data manipulation using core classes. Introduction to multithreading, multimedia, and networking. Includes a comprehensive programming project. Prerequisite: ECS 1337 or equivalent; prerequisite or corequisite: ECS 2305. (3-0) S

ECS 3301 Introduction to Nanoscience and Nanotechnology (3 semester hours) Introduction to the underlying principles and applications of the emerging field of Nanotechnology and Nanoscience. Intended for a multidisciplinary audience with a variety of backgrounds. Introduces tools and principles relevant at the nanoscale dimension. Discusses current and future nanotechnology applications in engineering, materials, physics, chemistry, biology, electronics, and energy. Prerequisites: CHEM 1312, MATH 2419 or MATH 2415, PHYS 2326 or PHYS 3342. (Same as NANO 3301) (3-0) Y

ECS 3310 Introduction to Materials Science (3 semester hours) This course provides an intensive overview of materials science and engineering focusing on how structure/property/processing relationships are developed and used for different types of materials. The course illustrates roles of materials in a modern technology by case studies of advances in new materials and process. Topics include atomic structure, crystalline solids, defects, failure mechanisms, phase diagrams and transformations, metal alloys, ceramics, polymers as well as their mechanical, thermal, electrical, magnetic and optical properties. Prerequisites: CHEM 1311, PHYS 2325, or consent of instructor. (Same as NANO 3310) (3-0) Y

ECS 3345 Data Structures and Introduction to Algorithmic Analysis (3 semester hours) Analysis of algorithms including time complexity and Big-O notation. Analysis of stacks, queues, and trees, including B-trees. Heaps, hashing, and advanced sorting techniques. Disjoint sets and graphs. Course emphasizes design and implementation. Prerequisites: ECS 2305 and ECS 2336. Prerequisite or corequisite: CS/SE 3341 or ENGR 3341. (3-0) S

ECS 3354 Software Engineering (3 semester hours) Introduction to software life cycle models. Software requirements engineering, formal specification and validation. Techniques for software design and testing. Cost estimation models. Issues in software quality assurance and software maintenance. Prerequisites: ECS 2336 or CS 3333, and ECS 2305. Pre- or corequisite: ECS 3390. (3-0) S

ECS 3361 Social Issues and Ethics in Computer Science and Engineering (3 semester hours) This course exposes students to major theoretical approaches and modes of thinking in the social sciences while exploring a range of important issues in computing and engineering, and the interrelationship between technology and important elements of social systems. Areas of exploration include the interface between technology, culture, economy, gender, politics, and religion. Issues of professional ethics, computer crime, privacy, intellectual property, the balance between scientific advances and the acceptability of risk, globalization and the relevance of constitutional issues are all explored by drawing upon empirical research and important research methodologies in the social sciences. (Same as SOCS 3361) (3-0) Y

ECS 3390 Professional and Technical Communication (3 semester hours) Expands students’ professional and team communication skills and strategies in technical contexts. Integrates writing, speaking and group communication by developing and presenting technical information to different audiences. Written assignments focus on creating professional technical documents, such as proposals, memos, abstracts, reports and letters. Presentation assignments emphasize planning, preparing and delivering dynamic, informative and persuasive presentations. Attendance at first class mandatory. Prerequisites: RHET 1302 and junior standing. (3-0) S

ECS 4348 Operating Systems Concepts (3 semester hours) An introduction to fundamental concepts in operating systems: their design, implementation, and usage. Topics include process management, main memory management, virtual memory, I/O and device drivers, file systems, secondary storage management, and an introduction to critical sections and deadlocks. Prerequisites: CS/SE 3340 or equivalent, ECS 3345, and a working knowledge of C and UNIX. (3-0) S

ECS 4390 Computer Networks (3 semester hours) The design and analysis of computer networks. Topics include: the ISO reference model, transmission media, medium-access protocols, LANs, data link protocols, routing, congestion control, internetworking, and connection management. Students cannot get credit for both ECS 4390 and EE 4390. Prerequisite: ECS 3345 or equivalent. (3-0) S