CSE 650 Special Topics in Computer Science Theory

Catalog description:

Presents syntax and semantics of a particular programming language currently popular in industrial or academic settings. Address construction of programs in the language. Applications of the language presented. Coverage of good programming style and software engineering concepts addressed in context of the language. Languages offered include 253.A Ada, 253.C C, and 253.J Java. Not applicable to CSE electives requirement for a CSE major. Offered infrequently.


Programming knowledge or permission of instructor.

Required topics:

Depends on the programming language and credit hours.

Learning Outcomes:

1. Explain the history of the programming language and its applicability in the industry and academia.

1.1. Explain the programming language, and the history of its development.

1.2. Explain the broad scope of this programming language and its main application- domains.

2. Describe the programming language and its basic terminologies.

2.1. Use and describe the basic syntax and semantics of the programming language.

2.2. Describe the data types commonly used in the programming language for representing numbers, and strings.

2.3. Describe the common operators, expressions, and constructs used in the programming language.

3. Use a language-specific programming environment for developing and debugging programs.

3.1. Describe the basic functions of the associated program development environments (such as IDEs).

3.2. Use the programming environments to write, load, compile, debug, and run sample programs.

4. Use appropriate programming principles to develop and implement programs.

4.1. Develop sample programs that demonstrate an understanding of the overall syntax and semantics of the programming language.

4.2. Use techniques and tools for debugging programs.

4.3. Generate and verify test cases necessary for program verification and analysis.

5. Identify the applicability of the programming language to different real-world applications.

5.1. Identify appropriate real-world applications in the industry or academia that are implemented using this programming language.

5.2. Develop programming applications, implement, and verify the programs by operating them along with third-party application-specific tools used in the industry.