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 development processes and project management. The course explores traditional software lifecycle models and contemporary Agile approaches, including Scrum. Topics include project planning and tracking, team collaboration, software estimation, scheduling, and risk management. Emphasis is placed on data-driven analysis and process improvement using industry-relevant standards and tools. A team project provides practical experience in estimating, scheduling, and managing software projects.
Prerequisites: Completion of three core courses. Development of a detailed, significant project in computer science under the close supervision of a faculty member, perhaps as one member of a student team. This project may be a software implementation, a design effort, or a theoretical or practical written analysis. Project report with optional oral presentation must be evaluated by three faculty members including the project supervisor.
Prerequisites: Completion of three core courses. Development of a detailed, significant project in computer science under the close supervision of a faculty member, perhaps as one member of a student team. This project may be a software implementation, a design effort, or a theoretical or practical written analysis. Project report with optional oral presentation must be evaluated by three faculty members including the project supervisor.
Online and Continuing Education Courses
Offered as needed to present advanced material to graduate students.