Programming Languages Concepts And Implementation Pdf

0 views
Skip to first unread message

Brian Scarano

unread,
Aug 5, 2024, 3:02:27 PM8/5/24
to chirmuzzguzzfi
CatalogDescription: Basic concepts and implementation strategies for modern functional and object-oriented programming languages such as Scheme and Java. Intended for non-majors. No credit to students who have completed CSE 341 or CSE 401.

Programming Languages: Concepts and Implementation teaches language concepts from two complementary perspectives: implementation and paradigms. It covers the implementation of concepts through the incremental construction of a progressive series of interpreters in Python, and Racket Scheme, for purposes of its combined simplicity and power, and assessing the differences in the resulting languages.


TCSS 101 Computer Science Principles (5) NSc, RSN

Introduces fundamental concepts of computer science and computational thinking. Includes logical reasoning; problem solving; operation of computers and networks; effective searching; and ethical, legal, and social aspects of information technology.

View course details in MyPlan: TCSS 101


TCSS 143 Fundamentals of Object-Oriented Programming Theory and Application (5) NSc, RSN

Develops fundamental concepts and techniques for analysis, design, and implementation of computer programs using an object-oriented language. Includes recursive techniques, use of abstract data types (ADTs), and introduction to simple data structures. Prerequisite: a minimum grade of 2.0 in either TCSS 142 or CSE 142. Offered: AWSp.

View course details in MyPlan: TCSS 143


TCSS 305 Programming Practicum (5) NSc, RSN

Provides a practicum in program design and development. Programming practice on a medium-scale, object-oriented application, consolidating prior programming principles and expanding knowledge of application design.

View course details in MyPlan: TCSS 305


TCSS 333 C for System Programming (5)

Introduces C as a language for exploring low-level machine characteristics and interacting with operating system services. Includes bit models for numeric data, pointers, arrays and structures, memory allocation, development of multiple file programs, libraries, system calls, and tools for compiling and linking.

View course details in MyPlan: TCSS 333


TCSS 342 Data Structures (5) RSN

Covers data structures and classical algorithms with an emphasis on implementing them in high-level programming languages. Includes sequential and linked lists, binary trees, heaps, B-trees, hash tables, graphs, and algorithms for searching and sorting. Concentrates on developing implementations, understanding their performance, and estimating their potential effectiveness in applications. Prerequisite: minimum grade of 2.0 in either TCES 203 or TCSS 305; and TCSS 321.

View course details in MyPlan: TCSS 342


TCSS 343 Design and Analysis of Algorithms (5) NSc

Develops competencies associated with problem-solving, algorithms, and computational models. Explores algorithms analysis and design, and computational complexity. Includes efficient algorithms, models of computation, correctness, time and space complexity, NP-complete problems, and undecidable problems. Prerequisite: minimum grade of 2.0 in TCSS 342

View course details in MyPlan: TCSS 343


TCSS 360 Software Development and Quality Assurance Techniques (5) NSc

Covers how to build quality software using standard development practices and representations. Includes writing and using requirements, designing and representing computational units, rigorous program testing, reviews and inspections, and working effectively in teams. Prerequisite: a minimum grade of 2.0 in TCSS 342; 10 credits of writing coursework.

View course details in MyPlan: TCSS 360


TCSS 371 Machine Organization (5)

Develops the hardware basis for computing systems, and the relationship between hardware and software. Covers number representations, digital logic, machine organization, instruction set architecture, assembly language, and an introduction to the translation of high-level languages into assembly instructions. Offered: AWSp.

View course details in MyPlan: TCSS 371


TCSS 372 Computer Architecture (5)

Covers the microarchitecture level of machine design and advanced architecture features for perform enhancement. Topics include computer performance measures, microarchitecture instructions, CPU design (datapath, pipelines, control unit, instruction parallelism), memory hierarchy, cache memory, virtual memory, parallel processing and multicore architectures. Prerequisite: a minimum grade of 2.0 in TCSS 371.

View course details in MyPlan: TCSS 372


TCSS 380 Fundamentals of Programming Language Concepts (5)

Introduces fundamental programming language concepts common to all programming languages, including abstraction mechanisms, types, scoping, binding, control flow, subprograms, and concurrency. Compares imperative and declarative models using multiple programming languages. Examines implementation strategies, memory model, and programming environments. Prerequisite: a minimum grade of 2.0 in TCSS 342; and a minimum grade of 2.0 in TCSS 371.

View course details in MyPlan: TCSS 380


TCSS 421 Compiler Construction (5)

Develops student understanding of how compliers translate high level programming languages into assembly language. Includes specifying programming language syntax, building data structures, generating assembly code, and implementing a complier for a small high-level language. Prerequisite: minimum grade of 2.0 in both TCSS 342 and TCSS 371.

View course details in MyPlan: TCSS 421


TCSS 431 Network Security (5)

Covers cryptographic methods including public and private key algorithms. Examines protocols that utilize such methods, such as secure email, digital signatures, authorization, e-voting, and electronic cash. Includes lab component for demonstration of security techniques such as firewalls, intrusion detection systems, and virtual private networks. Prerequisite: a minimum grade of 2.0 in TCSS 321 and TCSS 325

View course details in MyPlan: TCSS 431


TCSS 435 Artificial Intelligence and Knowledge Acquisition (5)

Introduction to the uses of intelligence theories, techniques, and tools. Foundational material includes search, knowledge representation, machine learning, and planning. Artificial intelligence techniques applied to practical problems in areas such as control systems, optimization, scheduling, and classification. Prerequisite: a minimum grade of 2.0 in TCSS 343.

View course details in MyPlan: TCSS 435


TCSS 437 Mobile Robotics (5)

Explores algorithmic design options for motion control, navigation, and obstacle avoidance in mobile autonomous robots. Introduces pertinent principles from artificial intelligence and embedded real-time systems. Students construct robots from kits and program them to demonstrate sophisticated behaviors. Prerequisite: a minimum grade of 2.0 in TCSS 360; a minimum grade of 2.0 in TCSS 422.

View course details in MyPlan: TCSS 437


TCSS 440 Formal Models in Computer Science (5)

Covers languages, finite automata, regular expressions, context-free grammars, and other automata such as pushdown store machines and Turing machines. Includes models of computation, computable and non-computable functions, non-determinism, space and time complexity, tractable and intractable functions, non-determinism, space and time. Prerequisite: a minimum grade of 2.0 in TCSS 342.

View course details in MyPlan: TCSS 440


TCSS 445 Database Systems Design (5) RSN

Fundamental concepts, system organization, and implementation of database systems. Methods for obtaining requirements and designing database systems; differences between hierarchical, relational, and network database designs; file organizations and data structures; structured query language (SQL); query optimization; database design; concurrency control; security; issues involving distributed database systems. Prerequisite: a minimum grade of 2.0 in TCSS 342.

View course details in MyPlan: TCSS 445


TCSS 446 Database Systems Internals (5)

Covers the internals of a database system and the principles of building a database engine, including buffer management, query execution and optimization, and transaction management. Provides hands-on experience on the internals of one of the commercial database management systems as a case study. Prerequisite: TCSS 445.

View course details in MyPlan: TCSS 446


TCSS 456 Introduction to Natural Language Processing (5)

Introduces fundamentals concepts and algorithms in Natural language Processing (NLP). Includes relevant background material in linguistics, mathematics, probability theory, and computer science. Covers text similarly, part of speech tagging, parsing, semantics, question answering, sentiment analysis, and text summarization. Prerequisite: a minimum grade of 2.0 in TCSS 343.

View course details in MyPlan: TCSS 456


TCSS 461 Advanced Software Engineering (5)

Analyzes system re-engineering, domain-specific languages, generative development, system design and service-oriented architecture. Also covers how to handle legacy systems, utilize model driven software development to automate code generation and understand low to high level architectures, by using software engineering methodologies, refactoring, UML, and the Eclipse framework. Prerequisite: TCSS 360.

View course details in MyPlan: TCSS 461


TCSS 462 Cloud Computing (5)

Provides a broad overview of topics associated with cloud computing including fundamental principles, service delivery models, foundational and enabling technologies, architecture, design, and virtualization technology. Understanding and mastery is supported through hands-on tutorials, case studies, and a term project. Prerequisite: a minimum grade of 2.0 in TCSS 360.

View course details in MyPlan: TCSS 462


TCSS 465 Embedded Real-Time System Programming (5)

An examination of particular theory and practice in designing software embedded in electronic devices and controllers. Includes clocks, threads, multitasking, critical sections, monitors, scheduling, on chip and external device interfacing, communications, and fault tolerance. Prerequisite: a minimum grade of 2.0 in TCSS 422.

View course details in MyPlan: TCSS 465

3a8082e126
Reply all
Reply to author
Forward
0 new messages