Note - SPPU's Degreeplus Beta Version is up, stay tuned for more details.
Note - SPPU's Degreeplus Beta Version is up, stay tuned for more details.

Course

Scripting Languages

53 hours 23 minutes

Credits: 3 Credits

Description

Course Code: CS633PE
Professional Elective – 3
In this course, learners will develop practical programming skills across three languages — Ruby, Perl, and Python — progressing from core language fundamentals to full-stack web application development and advanced Python programming. Learners will work with Ruby’s core data structures, control flow, loops, methods, blocks, hashes, and object-oriented programming principles, applying each concept through hands-on labs. They will build dynamic web applications using Ruby on Rails, working with single models, one-to-many and many-to-many relationships, and implementing authentication and authorization systems. Learners will gain foundational skills in Perl covering language syntax, control structures, arrays, operators, modules, objects, and file and database handling. The course concludes with a comprehensive Python track covering core data types, control flow, functions, lambdas, generators, closures, decorators, classes, error handling, and module imports, reinforced through an extended hands-on lab.

What Students Will Learn

  • Introduction To Ruby
  • Ruby Basics Lab: Putting The Form In Formatter
  • Ruby Control Flow
  • Ruby Control Flow Lab: Thith Meanth War
  • Ruby Loops and Iterators
  • Ruby Loops and Iterators Lab: Redacted
  • Ruby Data Structures
  • Ruby Data Structures Lab: Create A Histogram
  • Ruby Methods and Blocks
  • Ruby Methods and Blocks Lab: Ordering Your Library
  • Ruby Hashes and Symbols
  • Ruby Hashes and Symbols Lab: A Night At The Movies
  • Ruby Best Practices
  • Ruby Best Practices Lab: The Refactor Factory
  • Ruby Blocks, Procs, and Lambdas
  • Ruby Object Oriented Programming
  • Ruby Object Oriented Programming Lab: Virtual Computer
  • Ruby Object Oriented Programming Lab: Banking On Ruby

  • Ruby on Rails Introduction
  • Ruby on Rails Lab: Broadway
  • Ruby on Rails Lab: Bolt Network
  • Ruby on Rails Using a Single Model
  • Ruby on Rails Using a Single Model Lab: Innovation Cloud
  • Ruby on Rails Using a Single Model Lab: Threadly
  • Ruby on Rails Setting Up One to Many Relationships
  • Ruby on Rails Setting Up One to Many Relationships Lab: Bookmarks
  • Ruby on Rails Setting Up One to Many Relationships Lab: Bookmarks: Bass Music
  • Ruby on Rails Setting Up Many to Many Relationships
  • Ruby on Rails Setting Up Many to Many Relationships Lab: Portfolio
  • Ruby on Rails Setting Up Many to Many Relationships Lab: Stories

  • Ruby on Rails Authentication
  • Ruby on Rails Authentication Lab: Newstand 1
  • Ruby on Rails Authorization
  • Ruby on Rails Authorization Lab: Newstand 2

  • Perl Language & Programming Control
  • Arrays, Operators, & Functions
  • Expressions, Modules, & Objects
  • Working with Files & Databases

  • Python Development: Getting Started with Programming in Python
  • Python Development: Performing Operations with Complex Data Types
  • Python Development: Working with If Statements, Loops, & Comprehensions
  • Python Development: Defining, Configuring, & Invoking Functions
  • Python Development: Leveraging Functions with Lambdas, Generators, Closures, & Decorators
  • Python Development: Creating Classes, Handling Errors, & Importing Modules
  • Python for Developers
  • Final Exam: Python for Developers

  • Ruby Best Practices Cheatsheet
  • Ruby Hashes and Symbols Cheatsheet
  • Ruby Blocks, Procs, and Lambdas Cheatsheet
  • Ruby Methods and Blocks Cheatsheet
  • Ruby Data Structures Cheatsheet
  • Introduction To Ruby Cheatsheet
  • Ruby Loops and Iterators Cheatsheet
  • Ruby Object Oriented Programming Cheatsheet
  • Ruby Control Flow Cheatsheet
  • Beginning Perl Programming: From Novice to Professional

Overall Learning Outcomes

  • Write Ruby programs using core language features including variables, control flow, loops, and iterators
  • Apply Ruby data structures, methods, blocks, procs, lambdas, hashes, and symbols effectively
  • Implement object-oriented programming principles in Ruby including classes, inheritance, and encapsulation
  • Follow Ruby best practices to write clean, readable, and maintainable code
  • Build Ruby on Rails web applications using MVC architecture and RESTful routing
  • Design and implement single-model, one-to-many, and many-to-many database relationships in Rails
  • Develop secure Rails applications by implementing user authentication and role-based authorization
  • Write Perl programs using core language syntax, control structures, arrays, operators, and functions
  • Work with expressions, modules, objects, files, and databases in Perl
  • Write Python programs using core data types, control flow structures, loops, and comprehensions
  • Define and apply Python functions including lambdas, generators, closures, and decorators
  • Implement object-oriented Python programs using classes, error handling, and module imports