- A study of knowledge representation, search techniques, expert systems, predicate calculus, and natural languages. Discussion of the successes and limitations of past and current AI programs. Programming assignments in LISP and Prolog illustrate formal topics. P: COMPUTER 2630 and MATH 2730.
Object-Oriented Analysis and Design
- Requirements engineering, analysis, and specification using the object-oriented paradigm. Object-oriented architectural and detailed design. Use of an OOA&D modeling language such as UML. Investigation of OOA&D patterns. Moderate size, group project. P: SOFTWARE 2730 and COMPUTER 2430. Fall
Programming Language Structures
- A study of programming language topics which include data
objects, data types, storage management, syntax, BNF descriptions,
semantics, lexical analysis and parsing. Examples taken from
traditional languages as well as more modern languages. P:
COMPUTER 2630, Object-oriented Programming and Data
- Study of topics related to producing quality software, including software quality assurance, quality metrics, configuration management, verification and validation, reviews, inspections, audits, and software process improvement models. Individual and team projects. P: COMPUTER 2630 and SOFTWARE 2730.
Software Maintenance and Reengineering
- Study of the topics related to maintaining large-scale software systems. Study of software engineering topics such as estimation, software quality assurance, metrics, configuration management, verification and validation, inspections, and personal and team software process as they relate to software maintenance projects. Coverage of traditional analysis and design methods such as structured analysis and design. Two, semester-long, team-based projects: reengineering a small system to be object-oriented and making changes to a moderate sized existing software project. P: SOFTWARE 3430/COMPUTER 5430 Object-Oriented Analysis and Design, COMPUTER 2630 Object-Oriented Programing and Data Structures II.
Web Protocols, Technologies, and Applications
- This course will introduce the students to protocols and
technologies in Web Applications and Web Services. The Client/
Server concept and some advanced database concepts will also be
covered. The emphasis of the course will be using tools such as
ASP.NET for rapid development of Web Applications and Web
Services. P: COMPUTER 3340; C: COMPUTER 3630.
- An introduction to computer graphics including raster hardware, standard graphics software packages and important algorithms such as window-to-viewport mapping; clipping of lines, characters and polygons; 2D and 3D transformations and hidden line/surface removal. P: COMPUTER 2630 and MATH 3230.
Real-time Embedded Systems Programming
- An exploration of programming techniques and constructs used to develop reliable software systems capable of responding in real time to environmental changes. An overview of the platforms, tools, and processes used in developing software for embedded systems. Hands-on lab projects experimenting with real-time embedded systems programming details. P: COMPUTER 2630 and SOFTWARE 3430 and (ELECTENG 3780 or COMPUTER 3230).
Special Topics in Computer Science
- The subject matter and instructor for each instance of this class will be listed in the class schedule. Students should check with the instructor for details.
Software Project I
- Participation in a semester-long software development group project at the student's home university. Application of software engineering techniques and principles to the development of the project. P: COMPUTER 2630 and SOFTWARE 2730
Software Project II
- Participation in a semester-long software development group project. This course is only open to JIM-CS students in their "abroad" semester. Application of software engineering techniques and principles to the development of the project. P: COMPUTER 2630 and SOFTWARE 2730
- Introduction to the concepts, theory, and application of Computer Security. Topics include cryptography, digital signatures, authentication and identification schemes, viruses, worms, firewalls, and electronic commerce. P: COMPUTER 3830
- Study of the theory and design techniques used in compiler construction, including lexical analysis, parsing, grammars, semantic analysis, code generation, and optimization. P: COMPUTER 3520
Special Topics in Computer Science
- Specific contemporary issues or other issues related to Computer Science will be explored in depth. Topics vary. P: Consent of instructor
Seminar Paper Research
- The student will be required to carry out a project and write a technical paper in computer science. The student must demonstrate the ability to survey a field of knowledge and assemble, organize, evaluate, interpret, and present evidence in a logical and intelligent manner. P: Completion of at least 15 credits of computer science graduate courses.
Independent Study in Computer Science
- The amount of graduate credit allowed for independent study may not exceed a total of four credits except with the special permission of the student's advisor and the dean of the School of Graduate Studies. Approval must be secured before independent study courses are begun. Students registering for independent study must submit at or before registration a description signed by the instructor conducting the independent study of the subject to be covered. Independent study may not be used for collecting information for the seminar paper.
- The thesis may be an outgrowth of a research course (e.g.
TEACHING 7000 Research Procedures) or may be developed
independently within the program area. The thesis will report the
results of original and independent student research on a given
problem or topic, by systematic and impartial methods, and will
demonstrate the student’s ability to use techniques customarily
employed in the particular field of investigation. Although a
thesis for the master’s degree may not always be expected to
make a significant contribution to existing knowledge, it should
be a scholarly document that is accurate, verifiable, objective,
and impartial. In consultation with the program advisor, the
student proposes a committee of three faculty members. The
committee normally includes the thesis advisor, one additional
major department member, and one faculty member from another
department. In some instances, a student may prefer a thesis advisor
who is different from the program advisor assigned at the time of
admission. An approved thesis proposal must be submitted and
approved prior to registration. There is a website with useful links
to guide the graduate student in grammar, style, evaluating web
resources, and formats. (Thesis students will find the Texas A and M
link useful for formatting procedures and other technical assistance.)
The thesis advisor will provide guidance regarding the site. The site
may be accessed through the University’s Karrmann Library.