Skip to main content
Joshua Carberry

faculty

Joshua Carberry

Assistant Teaching Professor

Computer & Information Science

Contact

508-910-6697

g`^o_boov=rj^ppa+bar

Dion 303B

Teaching

Courses

Systems-level programming using C in a Unix environment. Students develop programs that interact with the operating system, focusing on memory management, file I/O, and modular program design. Topics include core language features, pointers and dynamic memory, data structures, and the use of standard libraries. The course also covers command-line tools, shell scripting, and system-level programming concepts such as processes and file systems. Emphasis is placed on debugging, code quality, and practical software development workflows.

Systems-level programming using C in a Unix environment. Students develop programs that interact with the operating system, focusing on memory management, file I/O, and modular program design. Topics include core language features, pointers and dynamic memory, data structures, and the use of standard libraries. The course also covers command-line tools, shell scripting, and system-level programming concepts such as processes and file systems. Emphasis is placed on debugging, code quality, and practical software development workflows.

Systems-level programming using C in a Unix environment. Students develop programs that interact with the operating system, focusing on memory management, file I/O, and modular program design. Topics include core language features, pointers and dynamic memory, data structures, and the use of standard libraries. The course also covers command-line tools, shell scripting, and system-level programming concepts such as processes and file systems. Emphasis is placed on debugging, code quality, and practical software development workflows.

Systems-level programming using C in a Unix environment. Students develop programs that interact with the operating system, focusing on memory management, file I/O, and modular program design. Topics include core language features, pointers and dynamic memory, data structures, and the use of standard libraries. The course also covers command-line tools, shell scripting, and system-level programming concepts such as processes and file systems. Emphasis is placed on debugging, code quality, and practical software development workflows.

Systems-level programming using C in a Unix environment. Students develop programs that interact with the operating system, focusing on memory management, file I/O, and modular program design. Topics include core language features, pointers and dynamic memory, data structures, and the use of standard libraries. The course also covers command-line tools, shell scripting, and system-level programming concepts such as processes and file systems. Emphasis is placed on debugging, code quality, and practical software development workflows.

Software analysis and design using object-oriented and service-oriented architectures. The course covers modeling and specification of software systems using industry-standard techniques and languages, with iterative practices for developing and refining designs. It includes contemporary tools for modeling, collaboration, and version control. Design, prototyping, and evaluation of software systems in realistic development environments are explored through a team-based project.

Software analysis and design using object-oriented and service-oriented architectures. The course covers modeling and specification of software systems using industry-standard techniques and languages, with iterative practices for developing and refining designs. It includes contemporary tools for modeling, collaboration, and version control. Design, prototyping, and evaluation of software systems in realistic development environments are explored through a team-based project.

Software analysis and design using object-oriented and service-oriented architectures. The course covers modeling and specification of software systems using industry-standard techniques and languages, with iterative practices for developing and refining designs. It includes contemporary tools for modeling, collaboration, and version control. Design, prototyping, and evaluation of software systems in realistic development environments are explored through a team-based project.

Software analysis and design using object-oriented and service-oriented architectures. The course covers modeling and specification of software systems using industry-standard techniques and languages, with iterative practices for developing and refining designs. It includes contemporary tools for modeling, collaboration, and version control. Design, prototyping, and evaluation of software systems in realistic development environments are explored through a team-based project.

Empirical methods in computer science and software engineering. The course covers experimental design, observational case studies, and reproducibility for investigating computing problems. Students design experiments, develop case studies, and analyze real-world data using contemporary tools. Topics include probability and statistical techniques for data-driven decision making. Emphasis is placed on critical evaluation of empirical research and hands-on experience with data.

Online and Continuing Education Courses

Offered as needed to present advanced material to graduate students.

Back to top of page