I can't find what I did wrong in my C# code.

I am trying to make a FPS game for a school project and I got stuck on the code for moving and looking around. I can’t seem to figure out what I did wrong but I can enter play mode due to the errors listed below. Please respond ASAP if you see anything wrong. Thanks in advance.

using UnityEngine;
using System.Collections;

public class FirstPersonController : MonoBehaviour {

    public float movementSpeed = 5.0f;

    // Use this for initialization
    void Start() {

        void Update() {

            // Rotation
            float rotLeftRight = Input.GetAxis("Mouse X");

            transform.Rotate(0, rotLeftRight, 0);

            // Movement
            float forwardSpeed = Input.GetAxis("Vertical") * movementSpeed;

            float sideSpeed = Input.GetAxis("Horizontal") * movementSpeed;

            Vector3 speed = new Vector3(forwardSpeed, 0, sideSpeed);

            speed = transform.Rotate * speed;

            CharacterController cc = GetComponent<CharacterController>();

            cc.SimpleMove(speed);

        }
    }

Errors:

(EDIT)
I have rewritten the entire thing.

New Code:

using UnityEngine;
using System.Collections;

[RequireComponent (typeof(CharacterController))]
public class FirstPersonController : MonoBehaviour {

public float movementSpeed = 5.0f;
public float mouseSensitivity = 5.0f;
public float jumpSpeed = 20.0f;

float verticalRotation = 0;
public float upDownRange = 60.0f;

float verticalVelocity = 0;

CharacterController characterController;

// Use this for initialization
void Start () {
	Screen.lockCursor = true;
	characterController = GetComponent<CharacterController>();
}

// Update is called once per frame
void Update () {
	// Rotation
	
	float rotLeftRight = Input.GetAxis("Mouse X") * mouseSensitivity;
	transform.Rotate(0, rotLeftRight, 0);

	
	verticalRotation -= Input.GetAxis("Mouse Y") * mouseSensitivity;
	verticalRotation = Mathf.Clamp(verticalRotation, -upDownRange, upDownRange);
	Camera.main.transform.localRotation = Quaternion.Euler(verticalRotation, 0, 0);
	

	// Movement
	
	float forwardSpeed = Input.GetAxis("Vertical") * movementSpeed;
	float sideSpeed = Input.GetAxis("Horizontal") * movementSpeed;
	
	verticalVelocity += Physics.gravity.y * Time.deltaTime;
	
	if( characterController.isGrounded && Input.GetButton("Jump") ) {
		verticalVelocity = jumpSpeed;
	}
	
	Vector3 speed = new Vector3( sideSpeed, verticalVelocity, forwardSpeed );
	
	speed = transform.rotation * speed;
	
	
	characterController.Move( speed * Time.deltaTime );
}

}

You’re missing a semicolon after the transform.Rotate line.

Thank you @conman79 and @doublemax ! Those errors have been fixed, but 2 new have been created.