;
            }
            delete $scope.booksToAdd['No books added'];
            //only add books that are not already on the authors in $scope.books
            $scope.books = books.data.filter(function(value) {
              for (var i = 0; i < $scope.author.books.length; i++) {
                if (value.id === $scope.author.books[i].book_id) {
                  return false;
                }
              }
              return true;
            });
          }
        );
      }
    );

    $scope.submit = function() {
      var books = [];
      for (var prop in $scope.booksToAdd) {
        books.push(prop);
      }

      $http({
        method: 'PUT',
        url: 'https://galvanizereads.herokuapp.com/authors/' + $routeParams.authorID + '/edit',
        data: {
          first_name: $scope.author.first_name,
          last_name: $scope.author.last_name,
          portrait_url: $scope.author.portrait_url,
          bio: $scope.author.bio,
          books: books
        }
      }).then(function successCallback(response) {
        console.log('Success editing author: ', response);
        $location.path('/authors');
      }, function errorCallback(response) {
        console.log('Error editing author: ', response);
      });
    };

    $('body').off("click", ".edit-remove-book");
    $('body').off("click", ".edit-add-book");
    $('body').on("click", ".edit-remove-book", removeBook);
    $('body').on("click", ".edit-add-book", addBook);

    function addBook(event) {
      var book = $('.add-book-select').val()
      if (book!= null) {
        $('.book-list-placeholder').remove();
        $('option[value="' + book + '"]').remove();
        book = book.split(',');
        $scope.booksToAdd[book[0]] = book[1];
        $('.new-book-list').append('<li class="list-group-item" data-bookid=' +
          book[0] + '><p>' + book[1] +
          '</p><button type="button" name="deleteBookBtn" class="btn btn-danger btn-xs pull-right edit-remove-book">Remove</button></li>'
        );
        $('select').val('Pick a Book');
        $('button[name="deleteBookBtn"]').off('click');
        $('button[name="deleteBookBtn"]').on('click', removeBook);
      }
    }

    function removeBook(event) {
      var bookID = event.currentTarget.parentElement.dataset.bookid;
      var bookTitle = event.currentTarget.previousSibling.data;
      delete $scope.booksToAdd[bookID];
      $('.add-book-select').append('<option ng-repeat="book in books" value="' + bookID + ',' + bookTitle + '"'+
        'class="ng-binding ng-scope">' + bookTitle + '</option>'
      );
      if ($('.new-book-list').children().length <= 1) {
        $(event.currentTarget.parentElement).remove();
        $('.new-book-list').append('<li class="list-group-item book-list-placeholder">Pick a book below</li>');
      } else {
        $(event.currentTarget.parentElement).remove();
      }
    }
  }
]);
Fluency in a Second Language: Should it Be Part of College and Career Readiness?
"Ability and fluency in more than one language."
Sí, es cierto. You read that correctly.
A group of school leaders from 15 large, countywide or suburban school systems have made it clear that they believe any revamped federal Elementary and Secondary Education Act should broaden the notion of what constitutes college- and career-ready expectations to include the acquisition of a second language.
That group—known as the Large Countywide and Suburban District Consortium—has outlined its vision for a "federal accountability framework" with principles that they believe a new version of the ESEA should incorporate. Of course, last we knew, there was little to no momentum in Congress to reauthorize the long overdue federal K-12 law.
The school chiefs' framework does not dwell at all on the bilingual/biliterate idea, but it's clear that it came straight from the brain of José Torres, the superintendent of the 40,000-student U-46 district in Elgin, Ill. Torres is part of the group of superintendents who wrote the ESEA framework.
Under Torres' leadership, the U-46 district—where 58 percent of students are Hispanic and 25 percent are English-language learners—is going all in on two-way, dual-language immersion. Eighteen of U-46's 20 elementary schools have fully implemented dual-language programs in which native English and native Spanish speakers are taught together, in both languages, in all subjects.
Illinois mandates transitional bilingual education in public schools where there are 20 or more students with limited English proficiency who speak the same home language. But that model of teaching students academic content in their home language while teaching them the English language had done little to boost achievement for U-46's English-learners, Torres said.
"I really do think that a 21st century skill is to not only speak another language, but to look at things from multiple perspectives," Torres told me. "We are also moving in this direction because we see it as a great opportunity to close the achievement gaps between our Hispanic and non-Hispanic students because these programs have high, high expectations."
• How can districts cultivate enough teachers with the rigorous bilingual and biliteracy skills that are necessary to teach in these environments?
• How can educators convince reluctant parents—particularly those with children who need to learn English—that learning in both languages is best?The United Nations World Food Programme is the world’s largest humanitarian organization, saving lives in emergencies and building a better future for people driven into hunger by conflict and the impact of climate change.
A new collection of free, ready-to-go learning resources across all subject areas from Scholastic Extra Credit. They have gathered stand-alone materials for independent student learning.
EasyTech develops students' digital literacy.
EasyCode immerses students in computer science concepts like computational thinking and coding.
Digital Literacy Assessment measures student growth in alignments with ISTE standards.
Implementation Services and Support provide strategic planning, onboarding, and training.<filename>helpers/serviceCheck/tlms.js
const axios = require('axios');

const checkTlms = async () => {
  const envs = [{
    name: 'LMS.id',
    errMessage: 'Missing LMS.id env'
  }, {
    name: 'LMS.host',
    errMessage: 'Missing LMS.host env',
  }];

  for (let i = 0; i < envs.length; i++) {
    if (!process.env[envs[i].name]) {
      return {
        isSuccess: false,
        message: envs[i].errMessage
      };
    }
  }

  const data = {
    isSuccess: false,
    message: ''
  };

  try {
    const response = await axios(`https://${process.env['LMS.host']}/api/v1/courses`, {
      auth: {
        username: process.env['LMS.id'] || '',
        password: ''
      }
    });
    if (response.status === 200) {
      if (typeof response.data ==='string') {
        data.message = 'Most likely the LMS.host env is invalid'
      } else {
        data.isSuccess = true;
      }
    }
  } catch (err) {
    if (err.message) {
      data.message = err.message

      if (err.response.status === 401) {
        data.message = `${data.message}, Most likely the LMS.id env is invalid`
      }
    }
  }

  return data;
};

module.exports = checkTlms;
Electronic artist Kyle Andrews has got plenty of bleeps, bloops, and synths to create some pretty pop masterpieces, and now he's apparently got a video to accompany one of them. You can view "The Search For The Heart" above. His album, Robot Learn Love, is out now.“Reality” TV shows are the best opportunity in the world to roll your eyes at the stereotypes we’ve developed in this world. One of the best is “House Hunters.” It’s exciting for those who either don’t know what hunting for a house is really like, or who just happened to be lucky enough