This course is a survey of professional software development tools and
practices. Topics include agile development methods, version control, test driven development, unit
testing, system testing, continuous integration, bug tracking, software design patterns, documentation,
and code quality. Students will complete both individual and team programming projects.
This course is a survey of professional software development tools and
practices. Topics include agile development methods, version control, test driven development, unit
testing, system testing, continuous integration, bug tracking, software design patterns, documentation,
and code quality. Students will complete both individual and team programming projects.
Formal definition of programming language syntax and semantics. Global properties of imperative and object-oriented languages including scope of declarations, binding times, simple data types, abstract data types, control structures, subprograms, concurrency, and exception handling. Introduction to functional and logic programming paradigms.
A course to emphasize the development of software applications on particular hardware platforms. Types of platforms covered include: Web platforms and mobile platforms. Course will cover currently relevant platform languages such as Java, HTML5, CSS, and JavaScript. For Web platforms emphasis will be on software as a service (SaaS). Issues for mobile platforms will include wireless communication and location-aware applications.
A course in programming in C++ using both procedural and object-oriented methods. Topics include variables; expressions; stream and file input/output; control structures; arrays; functions; pointers; records; dynamic memory management; object-oriented programming with classes; single and multiple inheritance. The course will also include an introduction to the Linux operating system.
Course introduces the discrete mathematical foundations of computer science, providing the appropriate theoretical background for advanced courses. Topics include: sets, relations and functions, basic logic, proof techniques, basics of counting, graphs and trees, and discrete probability
Introductory course covering the Internet and
web page design. The student will be introduced
to Internet tools including mailers, browsers,
search engines, metasearch engines, FTP clients,
and the physical components of computer
networks. The major part of this course will
cover the fundamentals of web page design using
HTML. Web page development will include
the use of lists, client-side image maps, tables,
frames, forms, cascading style sheets, and a web
editor. An introduction to XHTML, JavaScript,
and freely available HTML editors will also be
included.
Course is a survey of several popular scripting languages. Operating system shell languages and Perl will be discussed. The emphasis will be on applications of scripting languages to network and server administration tasks.