Skip to main content
John Rahme

faculty

John Rahme

Assistant Teaching Professor

Computer & Information Science

Contact

508-910-8353

508-999-9144

ksbinfAvnbtte/fev

Dion 302C

Teaching

Courses

Application of advanced object-oriented principles to practical software development. Topics include inheritance, polymorphism, abstract data types, exception handling, threads, and networking. Emphasis is placed on developing robust, reusable software through component libraries, code reuse strategies, and industry-relevant development practices.

Application of advanced object-oriented principles to practical software development. Topics include inheritance, polymorphism, abstract data types, exception handling, threads, and networking. Emphasis is placed on developing robust, reusable software through component libraries, code reuse strategies, and industry-relevant development practices.

Application of advanced object-oriented principles to practical software development. Topics include inheritance, polymorphism, abstract data types, exception handling, threads, and networking. Emphasis is placed on developing robust, reusable software through component libraries, code reuse strategies, and industry-relevant development practices.

Comprehensive coverage of all major groups of algorithms, including divide-and-conquer, dynamic programming, greedy, backtracking, branch-and-bound, and parallel algorithms. Discussion of the design and implementation of complex, dynamic data structures. The course also covers an introduction to the functional paradigm.

Comprehensive coverage of all major groups of algorithms, including divide-and-conquer, dynamic programming, greedy, backtracking, branch-and-bound, and parallel algorithms. Discussion of the design and implementation of complex, dynamic data structures. The course also covers an introduction to the functional paradigm.

Comprehensive coverage of all major groups of algorithms, including divide-and-conquer, dynamic programming, greedy, backtracking, branch-and-bound, and parallel algorithms. Discussion of the design and implementation of complex, dynamic data structures. The course also covers an introduction to the functional paradigm.

Models of sequential, parallel, and distributed computations. The Chomsky hierarchy of formal languages and their accepting machines are studied in detail. The relationship of these languages and machines to computer programs is presented. Influence of a Turing machine and related formalisms on modern computing are studied. Decidability of decision problems is explained. Several models of parallel and distributed computations are introduced and compared.

Specialized topics of interest and relevance to computer and information science. Course content may change from semester to semester according to instructor's preferences.

Design and implementation of applications for Android Mobile Platforms. Issues addressed include design and layout of widgets, haptic interfacing, and utilization of special sensors, project simulation, project development cycle, and finally application publication.

Offered as needed to present advanced material to graduate students.

Back to top of page