Toni Njiric Headshot

Toni Njiric

Instructor

RIT Croatia

Toni Njiric

Instructor

RIT Croatia

Currently Teaching

ISTE-222
3 Credits
This course expands the student’s knowledge base of applying higher level programming concepts including data structures, algorithm development and analysis, Big-O notation, directed graphs, priority queues, performance, and a greater understanding of how complex software can more easily be designed. Programming assignments are required.
ISTE-230
3 Credits
This course surveys the fundamental concepts and theories used in organizing and structuring data that arise in a wide range of contexts (e.g. lab sciences, economic, social services, computing system performance, environmental sustainability). Course topics include data organization theory, basic relational model theory, normalization theory, relational algebra, data quality, data integrity and security, and mapping a data model into a database schema. Students will learn how to construct and use databases while maintaining the security and integrity of data as well as develop AI literacy in the context of data model design, learning how to apply and critique Artificial Intelligence responsibly and ethically. Hands-on assessments are included in this course.
ISTE-340
3 Credits
This course will explore the analysis, design, development, and implementation of client-side programming in the context of Internet technologies, mobile devices, Web-based client systems and desktop applications. Students will learn to design and build usable and effective interactive systems, clients, and interfaces. Key features addressed will include browser and platform compatibility, object reusability, bandwidth and communications issues, development environments and architectures, privacy and security, and related technologies and APIs. Programming is required.
ISTE-422
3 Credits
In this course, students will gain experience with the processes, practices, and tools professional developers use to deliver robust and maintainable applications. Students will apply these practices and tools to build and deploy small-scale production-quality applications and systems. Topics include development life cycles, version control, test bed development and use, build utilities, unit testing, error handling, deployment tools, and documentation. Students will learn the ethical use of AI tools in the software development lifecycle including an agentic AI approach to the development, testing and delivery of software.
ISTE-444
3 Credits
Web developers often need to go beyond building web pages and client-server programming to plan, install, configure, develop, and maintain the Web servers that host their sites. They need to understand issues of scalability, performance, and security as they apply to deploying a web presence. This course provides a practical hands-on approach to development, configuration, and administration of Web server platforms, including operating system administration and shell scripting. Topics include issues of and approaches to scalability, multiple server systems, security, and auditing, as well as the many configuration options, modules, and server alternatives available.
NSSA-290
3 Credits
This is a course in the basics of network communication for software developers. Topics will include the OSI 7-layer model and its realization in the TCP/IP protocol stack. Students will also learn about naming and name resolution as it is used in the internet, plus the basics of routing and switching. The focus in all of this will be on an analysis of how name resolution, routing and switching operate at the developer's perspective. The specifics of how the socket transport layer appears to the programmer and operates will be a key topic. Finally, an overview of authentication mechanisms and number of examples of the security vulnerabilities of existing communication protocols will be provided to instruct students on the inherent risks of communication via the INTERNET.