TCE Spring 2016 QuestionTitle QuestionDetail Option1 Option2 Option3 Option4 Option5 Option6 Option7 Option8 Option9 Option1 score1 score2 score3 score4 score5 score6 score7 score8 score9 score10 CS100C001S I have a better understanding of the computer science academic discipline. CS100C002S I have a better understanding of what is expected of me as a computer science student. CS100C003S I have a better understanding of what careers are available to computer science students. CS100C004S I have a better understanding of what professional skills are required of me by employers in the information technology discipline. CS100C005S I have a better understanding of professional and social issues and responsibilities CS100C006S This course has enhanced my ability to function effectively on a team to accomplish a common goal. CS101C001S I have acquired or improved my ability to analyze the local and global impact of computing and technology on individuals, organizations and society CS101C002S I am able to use application software to solve problems CS101C003S I am aware of the capabilities and limitations of hardware and software CS101C004S I am aware of the strengths and weaknesses of the Internet and the effect it has had on society CS115C001S I have an understanding of the data representations in programs (variables, numbers, and character strings). CS115C002S I can use decision structures, loops, functions, to solve programming problems. CS115C003S I understand how to use a class (for example the graphics class). CS115C004S I can design, document, implement and test solutions to programming problems. CS115C005S I can work in a team to accomplish typical programming tasks such as test case development, or designing a program. CS215C001S I have the ability to analyze a problem, and identify and define the computing requirements appropriate to its solution. CS215C002S I have the ability to design, implement and evaluate a computer-based system, process, component, or program to meet desired needs. CS215C003S I have the ability to solve programming problems using classes. CS215C004S I have the ability to solve programming problems using dynamic data and pointers. CS215C005S I have the ability to solve programming problems using recursion. CS215C006S I understanding the basic data structures (linked lists, stacks, queues, trees) and can use them in programs. CS215C007S I understanding the principles of sorting and searching. CS216C001S I have the ability to design, implement and evaluate a computer-based system, process, component, or program to meet desired needs. CS216C002S I have the ability to apply design and development principles in the construction of software systems of varying complexity. CS216C003S I am able to use the Unix environment for program development. CS216C004S I have the ability to solve programming problems using an object-oriented language. CS216C005S I have the ability to solve programming problems using an interpretive language. CS216C006S I understand the fundamentals of Internet programming. CS216C007S I have the ability to develop and test large programs. CS221C001S I have the ability to use modern computing software to solve problems in engineering. CS221C002S I understand and apply basic control and data structures to construct simple programs. CS221C003S I can apply testing and debugging techniques to identify and correct errors in programs. CS221C004S I understand and implement some basic algorithms, including numerical methods. CS275C001S I have the ability to apply knowledge of computing and mathematics appropriately to the discipline. CS275C002S I know how to construct proofs by mathematical induction. CS275C003S I know how to apply laws of set algebra. CS275C004S I know how to apply elementary logic. CS275C005S I know how to enumerate combinatorial objects. CS275C006S I know how to solve recurrence relations. CS275C007S I understand the relevance of discrete mathematics to CS curriculum. CS315C001S I have the ability to apply knowledge of computing and mathematics appropriate to the discipline. CS315C002S I have the ability to analyze a problem, and identify and define the computing requirements appropriate to its solution. CS315C003S I have the ability to design, implement and evaluate a computer-based system, process, component, or program to meet desired needs. CS315C004S I have the ability to apply mathematical foundations, algorithmic principles, and computer science theory in the modeling and design of computer-based systems in a way that demonstrates comprehension of the tradeoffs involved in design choices. CS315C005S I understand the limiting factors of resources such as time and space in algorithmic solutions. CS315C006S I understand how to approach the algorithm design and analysis. CS315C007S I understand the basic algorithms and data structures and how to compare their quality. CS315C008S I understand how to analyze experimentally the performance of programs. CS316C001S I have the ability to design, implement and evaluate a computer-based system, process, component, or program to meet desired needs. CS316C002S I have the ability to function effectively on teams to accomplish a common goal. CS316C003S I understand the World Wide Web architecture. CS316C004S I can create a dynamic web page and process the data from it. CS316C005S I can use the popular web programming languages for both client and server programs. CS316C006S I understand and can utilize the web data transfer methods. CS316C007S I understand security issues relating to the World Wide Web. CS321002C001S I have the ability to apply knowledge of computing and mathematics appropriate to the discipline. CS321002C002S I have the ability to analyze a problem, and identify and define the computing requirements appropriate to its solution. CS321002C003S I understand fl-arithmetic and errors caused by it. CS321002C004S I learned basic numerical methods. CS321002C005S I can identify efficient methods for specific problems. CS321002C006S I can analyze/understand computed results. CS321002C007S I understand the relevance of continuous mathematics to numerical computations. CS335C001S I have the ability to apply mathematical foundations, algorithmic principles, and computer science theory in the modeling and design of complex software, in particular for graphics visualization and simulation. CS335C002S I learned fundamental techniques in graphics such as geometric primitives, transformation, light models, and texture mapping. CS335C003S I learned basic techniques to program under the Android Environment CS335C004S I learned to use an objected oriented programming language and graphics programming interface to develop graphics program and GUIs. CS335C005S I learned the basic OpenGL ES programming API and be able to use it to construct basic computer graphics environment and rendering. CS335C006S I learned the programmability and programming languages (shaders) of modern graphics processors. CS371C001S I can explain how information is encoded for transmission over digital channels. Explain the concepts of channel capacity (``bandwidth") and latency. CS371C002S I can explain how to implement reliable data transfer over an unreliable channel. CS371C003S I understand and can explain how packets are delivered in datagram networks. CS371C004S I can explain the basics of operation of important Internet protocols including IP, TCP, DNS, SMTP and HTTP protocols. CS371C005S I can design, code, and test simple client and server programs that communicate via a network. CS371C006S I have the ability to design, implement and evaluate a computer-based system, process, component, or program to meet desired needs. CS371C007S I have the ability to apply design and development principles in the construction of software systems of varying complexity. CS375C001S I have the ability to apply knowledge of computing and mathematics appropriate to the discipline. CS375C002S I have the ability to apply mathematical foundations, algorithmic principles, and computer science theory in the modeling and design of computer-based systems in a way that demonstrates comprehension of the tradeoffs involved in design choices. CS375C003S I understand propositional proofs. CS375C004S I am able to handle predicate calculus syntax and semantics. CS375C005S I understand automata theory. CS375C006S I am able to use regular expressions in my future work. CS375C007S I understand the relationship between formal models of computation and modern computers. CS375C008S I understand the relevance of logic and theory of computation to the CS curriculum. CS378C001S I have the ability to apply knowledge of computing and mathematics appropriate to the discipline. CS378C002S I learned basic issues of security in communication and computing . CS378C003S I learned basic approaches to solving security problems. CS378C004S I learned mathematical tools for analyzing cryptographic protocols, including basic number theory . CS378C005S I became familiar with a variety of protocols for providing security in digital systems. CS378C006S I gained experience implementing security protocols. CS380C001S This course has helped me to understand the levels of software and hardware comprising the Instruction Set Architecture of a computer. CS380C002S This course has helped me to analytically and experimentally analyze, evaluate, and compare the performance of computers. CS380C003S This course has helped me to design the assembly language instruction set of a high performance computer for a particular application environment of the computer. CS380C004S This course has helped me to understand how computers perform fixed and floating-point (IEEE 754 format) addition, subtraction, multiplication, and division. CS380C005S This course has helped me to organize, design, and implement at the gate and register level the five functional units (datapath, controller, memory, input, and output) of a computer. CS380C006S This course has helped me to make design decisions based on performance data. CS380C007S This course has helped me to write and run assembly language programs on a simulator of a designed computer. CS383C001S This course has helped me to design and implement a simple computer controlled device. CS383C002S This course has helped me to write programs for a microprocessor in assembly language. CS383C003S This course has helped me to interface microprocessors to a variety of devices. CS383C004S This course has helped me to analyze and debug systems built around microcontrollers. CS383C005S This course has helped me to understand the development of embedded systems controlled by modern microcontrollers and the capabilities and limitations of such systems. CS405GC001S I have the ability to design, implement and evaluate a computer-based system, process, component, or program to meet desired needs. CS405GC002S I have the ability to use current techniques, skills, and tools necessary for computing practices. CS405GC003S I understand and appreciate the theoretical foundation of database systems. CS405GC004S I became proficient using SQL. CS405GC005S I am able to use sound design principles when defining a database. CS405GC006S I became familiar with databases in a client-server environment. CS405GC007S I can build a client-side user-interface to a database. CS405GC008S I improved my ability to design, implement and evaluate a computer-based system, process, component, or program to meet desired needs. CS405GC009S I acquired or improved my ability to apply mathematical foundations, algorithmic principles, & computer science theory in the modeling & design of computer-based systems in a way that demonstrates comprehension of the tradeoffs involved in design choices. CS441GC001S I have the ability to design, implement and evaluate a computer-based system, process, component, or program to meet desired needs CS441GC002S I have the ability to apply mathematical foundations, algorithmic principles, and computer science theory in the modeling and design of computer-based systems in a way that demonstrates comprehension of the tradeoffs involved in design choices CS441GC003S I know how to write and use regular expressions CS441GC004S I can generate a lexical analyzer and using lex/flex CS441GC005S I can generate a parser (recursive-descent and using yacc/bison) CS441GC006S I can understand and implement code generation (intermediate/machine) CS441GC007S I can design and write a complex programming project that consists of multiple parts CS441GC008S I can document a complex programming project, including what works and what does not or is not implemented CS460GC001S I have the ability to apply knowledge and mathematics appropriate to the discipline. CS460GC002S I have the ability to use current techniques, skills, and tools necessary for computing practices. CS460GC003S I have the ability to apply mathematical foundations, algorithmic principles, and computer science theory in the modeling and design of computer-based systems in a way that demonstrates comprehension of the tradeoffs involved in design choices. CS460GC004S I can describe the fundamental concepts of supervised learning and unsupervised learning. CS460GC005S I can explain the impact of limited training data, high-dimensional data and noisy training data on learning based approaches and describe the bias/variance tradeoff. CS460GC006S I can develop a machine learning system for real-world data. This includes identifying appropriate training data, determining correct problem statement, developing feature extraction methods, testing learning algorithms & documenting the complete system. CS460GC007S I can describe the practical differences, such as runtime vs. training time complexity, among various machine-learning algorithms. CS460GC008S I can describe several evaluation mechanisms for measuring learning algorithm performance. CS460GC009S I can implement several machine learning approaches from scratch and incorporate higher-level machine learning libraries in to a computer system. CS463GC001S I have the ability to use current techniques, skills, and tools necessary for computing practices CS463GC002S I have the ability to apply mathematical foundations, algorithmic principles, and computer science theory in the modeling and design of computer-based systems in a way that demonstrates comprehension of the tradeoffs involved in design choices CS463GC003S I understand search algorithms CS463GC004S I can analyze games CS463GC005S I can use logic to represent and reason about domain knowledge CS463GC006S I can use Bayesian networks to represent and reason about domain knowledge CS463GC007S I can model and solve planning problems CS463GC008S I understand the relevance of Artificial Intelligence to the real world CS463GC009S I have the ability to program in a declarative programming language CS463GC010S I can improve my ability to analyze a problem, and identify and define the computing requirements appropriate to its solution CS463GC011S I can improve my ability to design, implement and evaluate a computer-based system, process, component, or program to meet desired needs CS470GC001S I have the ability to design, implement and evaluate a computer-based system, process, component, or program to meet desired needs. CS470GC002S I have the ability to apply mathematical foundations, algorithmic principles, and computer science theory in the modeling and design of computer-based systems in a way that demonstrates comprehension of the tradeoffs involved in design choices. CS470GC003S I understand the various components of an operating system. CS470GC004S I understand memory management. CS470GC005S I understand process management. CS470GC006S I understand basic mechanisms for protecting computer resources. CS470GC007S I understand file system management. CS470GC008S I understand and apply some OS interfaces for application development. CS470GC009S I have improved my ability to apply knowledge of computing and mathematics appropriate to the discipline. CS470GC010S I have improved my ability to analyze a problem, and identify and define the computing requirements appropriate to its solution. CS470GC011S I have improved my ability to apply design and development principles in the construction of software systems of varying complexity. CS480GC001S This course has helped me to develop an understanding of the effects rapidly changing computer systems implementation technologies have on the organization, architecture and performance of modern day computer systems and their functional units. CS480GC002S I understand the development of different fundamental Instruction Set Architectures and computer organizations and architectures required for their implementation, performance aspects of the different ISAs, and hardware architectural implementation. CS480GC003S This course has helped me to develop an understanding of how different Instruction Set Architectures (ISAs) and their implementation can lead to computer systems with different levels of performance. CS480GC004S This course has helped me to develop an understanding of analytic models which may be used to measure and compare the performance of different computer system architectures. CS480GC005S This course has helped me to develop an understanding of the characteristics of an Instruction Set Architecture (ISA) and supporting computer architectural implementation which will result in a modern high performance computer system. CS480GC006S This course has helped me understand how to design, develop and validate correct functional and performance operation of the functional units of a computer system via use of Hardware Description Languages, supporting CAD tools and HDL simulation. CS480GC007S This course has helped me understand how to design,develop,test and evaluate the functionality and performance of an entire computer system and its Instruction Set Arch via use of Hardware Desc Languages, supporting CAD tools and HDL simulation. CS485G002C001S I acquired new knowledge and experience in algorithms and data structures for specialized computational problems, how to compare their quality, and how to implement them. CS485G002C002S I have an ability to experimentally analyze and improve the performance of programs. CS485G002C003S I have an ability to use current techniques, skills, and tools necessary for computing practices. CS485G002C004S I have an ability to apply mathematical foundations, algorithmic principles, and computer science theory in the modeling and design of computer-based systems in a way that demonstrates comprehension of the tradeoffs involved in design choices. CS485G002C005S I recognize the need for, and an ability to engage in, continuing professional development (learning about new solutions, reading papers and reports, improving the quality of reports). CS485G003C001S I learned how to implement and debug applications in the iOS environment. CS485G003C002S I have an understanding of Objective C/C++. CS485G003C003S I have an understanding of APIs and functions available in iOS. CS485G003C004S I have an understanding of common design patterns used in iOS. CS485G003C005S I learned how to use tools available for iOS development. CS485G003C006S I improved my ability to design, implement and evaluate a computer program to meet desired needs. CS485G004C001S I have the experience to use current techniques, skills, and tools necessary for data mining practices. CS485G004C002S I understand and appreciate the theoretical foundation of data mining principles. CS485G004C003S I understand and appreciate the difference in various data mining methods. CS485G004C004S I have the ability to interpret and evaluate the data mining results. CS485G004C005S I acquired or improved my ability to apply mathematical foundations, algorithmic principles, & computer science theory in the modeling & design of computer-based systems in a way that demonstrates comprehension of the tradeoffs involved in design choices. CS485G005C001S I have the ability to use current techniques, skills and tools necessary for computing practice. CS485G005C002S I have the ability to apply design and development principles in the construction of software systems of varying complexity. CS485G005C003S I understand why concurrent programming is important. CS485G005C004S I understand the challenges of developing correct multithreaded programs, including the ability to define and recognize race conditions in a variety of contexts. CS485G005C005S I have the ability to apply constructs, solutions, and techniques used in concurrent programs, including Java synchronization mechanisms and memory model. CS485G005C006S I have the ability to recognize and understand performance constraints and tradeoffs in building thread-safe data structures. CS485G006C001S I have the ability to apply design and development principles in the construction of software systems of varying complexity. CS485G006C002S I understand entire software systems including software tools (compilers, linkers/loaders, and debuggers), operating systems, and networks. CS485G006C003S I improved my ability to debug programs CS485G006C004S I understand common bugs and the potential for attacks (e.g. buffer overflow attacks) CS485G006C005S I understand the various components of an operating system CS485G006C006S I understand memory management CS485G006C007S I understand process management CS485G006C008S I understand file systems CS485G006C009S I understand and apply OS interfaces and system calls for application and shell development CS485G006C010S I understand client/server network programming. CS498C001S I improved my ability to analyze a problem, and identify and define the computing requirements appropriate to its solution. CS498C002S I improved my ability to design, implement and evaluate a computer-based system, process, component, or program to meet desired needs. CS498C003S I have the ability to function effectively on teams to accomplish a common goal. CS498C004S I improved my understanding of professional, ethical, legal, security, and social issues and responsibilities. CS498C005S I improved my ability to communicate effectively with a range of audiences. CS498C006S I improved my ability to analyze the local and global impact of computing C632on individuals, organizations and society. CS498C007S I improved my recognition of the need for, and an ability to engage in, continuing professional development. CS498C008S I improved my ability to use current techniques, skills, and tools necessary for computing practices. CS498C009S I improved my ability to apply mathematical foundations, algorithmic principles, and computer science theory in the modeling and design of computer-based systems in a way that demonstrates comprehension of the tradeoffs involved in design choices. CS498C010S I improved my ability to apply design and development principles in the construction of software systems of varying complexity. CS499C001S I have the ability to design, implement and evaluate a computer-based system, process, component, or program to meet desired needs. CS499C002S I understanding the professional, ethical, legal, security, and social issues and responsibilities. CS499C003S I can use the standard project development steps (specification, design, etc.) in implementing a project. CS499C004S I can implement a large project. CS499C005S I can develop and present a talk on the status of a project. CS499C006S I can develop a written report on a large project. CS499C007S I improved my ability to function effectively on teams to accomplish a common goal. CS505C001S I have the ability to analyze a problem, and identify and define the computing requirements appropriate to its solution. CS505C002S I have the ability to design, implement and evaluate a computer-based system, process, component, or program to meet desired needs. CS505C003S I acquired or improved my ability to design, implement and evaluate a computer-based system, process, component, or program to meet desired needs. CS505C004S I acquired or improved my ability to apply design and development principles in the construction of software systems of varying complexity. CS505C005S I understand the design and various aspects of implementation of database management systems. CS505C006S I acquired or improved my knowledge in security in database management systems, transaction management, and parallel and distributed databases. CS515C001S I can prove algorithms are correct CS515C002S I can analyze the complexity of algorithms CS515C003S I can design new algorithms CS515C004S I can use existing algorithms for complex problems CS515C005S I understand the relevance of algorithm design and analysis in CS CS515C006S I have the ability to analyze a problem, and identify and define the computing requirements appropriate to its solution CS515C007S I have the ability to design, implement and evaluate a computer-based system, process, component, or program to meet desired needs. CS535C001S I understand the concept of 3D viewing, including various types of transformations. CS535C002S I understand the concept of shading and various shading models. CS535C003S I understand various representations for basic geometric primitives, such as lines, curves, and surfaces CS535C004S I understand various global illumination methods and techniques. CS535C005S I can write OpenGL programs to render 3D scenes consisted of polygonal objects or objects bounded by free-form surfaces CS535C006S I improved my ability to apply knowledge of computing and mathematics appropriate to address various graphics problems. CS537001C001S I have the ability to apply knowledge of computing and mathematics appropriate to the discipline. CS537001C002S I have the ability to analyze a problem, and identify and define the computing requirements appropriate to its solution. CS537001C003S I learned basic numerical methods. CS537001C004S I can identify efficient methods for specific problems. CS537001C005S I can analyze/understand computed results. CS537001C006S I understand the relevance of continuous mathematics to numerical computations. CS537401C001S I have the ability to apply knowledge of computing and mathematics appropriate to the discipline. CS537401C002S I have the ability to analyze a problem, and identify and define the computing requirements appropriate to its solution. CS537401C003S I learned basic numerical methods. CS537401C004S I can identify efficient methods for specific problems. CS537401C005S I can analyze/understand computed results. CS537401C006S I understand the relevance of continuous mathematics to numerical computations. CS570C001S I can enumerate the list of frequently used consistency models and cache coherence protocols CS570C002S I can design a distributed scheduling algorithm that achieves certain criteria (e.g., load balancing) CS570C003S I can compare and contrast distributed file system abstractions CS570C004S I can solve synchronization problems in a distributed system CS570C005S I can compare and contrast distributed check pointing failure recovery approaches CS570C006S I can evaluate the level of security and protection offered by a distributed system CS570C007S I can develop my own implementation of a distributed system or component of a distributed system CS571C001S I have the ability to analyze a problem, and identify and define the computing requirements appropriate to its solution CS571C002S I have the ability to design, implement and evaluate a computer-based system, process, component, or program to meet desired needs CS571C003S I understand how information is forwarded through the Internet CS571C004S I understand why congestion arises and how it is dealt with CS571C005S I understand why routing is a challenge in large networks, and how the Internet meets that challenge CS571C006S I can design and implement communication software using client/server model CS571C007S I can implement a protocol from a given specification CS575C001S I can apply knowledge of computing and mathematics appropriate to the discipline. CS575C002S I understand basic models of computation, their properties and relationships among them. CS575C003S I understand computability of languages and prove undecidability and intractability. CS575C004S I can analyze the complexity of algorithms. CS575C005S I can understand relationships between machine models and languages. CS575C006S I can apply models of computation to program design and analysis. CS585001C001S The class has increased my ability to understand professional, ethical, legal, security, and social issues and responsibilities. CS585001C002S The class has increased my ability to communicate effectively with a range of audiences. CS585001C003S The class has increased my ability to analyze the local and global impact of computing on individual, organizations and society. CS585001C004S The class has increased my ability to think critically about the presentation of computer programs and technology in popular media.